@enplug/dashboard-sdk
Advanced tools
Comparing version 4.0.7 to 4.1.0
{ | ||
"name": "enplug-dashboard-sdk", | ||
"version": "4.0.7", | ||
"version": "4.1.0", | ||
"homepage": "https://github.com/Enplug/dashboard-sdk", | ||
@@ -5,0 +5,0 @@ "description": "AngularJS Enplug SDK dashboard component", |
@@ -550,6 +550,7 @@ (function (window) { | ||
/** | ||
* Loads available themes for the current app instance app definition. | ||
* Loads available themes for the current app or for specified appId. | ||
* | ||
* Data is passed as the first param to the success callback. | ||
* | ||
* @param {function} [appId] | ||
* @param {function} onSuccess | ||
@@ -559,7 +560,10 @@ * @param {function} [onError] | ||
*/ | ||
this.getThemes = function (onSuccess, onError) { | ||
this.getThemes = function (appId, onSuccess, onError) { | ||
return this.method({ | ||
name: 'getThemes', | ||
params: { | ||
appId: appId | ||
}, | ||
successCallback: onSuccess, | ||
errorCallback: onError, | ||
errorCallback: onError | ||
}); | ||
@@ -569,8 +573,31 @@ }; | ||
/** | ||
* Loads theme by id. | ||
* | ||
* Data is passed as the first param to the success callback. | ||
* | ||
* @param {function} [themeId] | ||
* @param {function} onSuccess | ||
* @param {function} [onError] | ||
* @returns {number} callId | ||
*/ | ||
this.getTheme = function (themeId, onSuccess, onError) { | ||
return this.method({ | ||
name: 'getTheme', | ||
params: { | ||
id: themeId | ||
}, | ||
successCallback: onSuccess, | ||
errorCallback: onError | ||
}); | ||
}; | ||
/** | ||
* Creates a new theme under the current app instance app definition. | ||
* The new theme will be available only under the current user's account. | ||
* | ||
* @param {object} newTheme | ||
* @param {string} newTheme.Name | ||
* @param {Array} newTheme.Assets | ||
* @param {object} themeDefinition | ||
* @param {object} theme | ||
* @param {string} previewUrl | ||
* @param {Array} previewAsset | ||
* @param {function} [onSuccess] | ||
@@ -580,9 +607,16 @@ * @param {function} [onError] | ||
*/ | ||
this.createTheme = function (newTheme, onSuccess, onError) { | ||
this.validate(newTheme, 'object', 'You must provide the new theme (object) to create.'); | ||
this.editTheme = function (themeDef, theme, previewUrl, previewAsset, fonts, onSuccess, onError) { | ||
this.validate(themeDef, 'object', 'You must provide the theme definition (object).'); | ||
this.validate(previewUrl, 'string', 'You must provide the preview url (string).'); | ||
return this.method({ | ||
name: 'createTheme', | ||
params: newTheme, | ||
name: 'editTheme', | ||
params: { | ||
themeDefinition: themeDef, | ||
theme: theme, | ||
previewUrl: previewUrl, | ||
previewAsset: previewAsset, | ||
fonts: fonts | ||
}, | ||
successCallback: onSuccess, | ||
errorCallback: onError, | ||
errorCallback: onError | ||
}); | ||
@@ -592,5 +626,28 @@ }; | ||
/** | ||
* Removes a theme from the current user's account for | ||
* the current app instance app definition. Cannot remove default themes. | ||
* Creates a new theme under the current app definition. | ||
* The new theme will be available to all users in the account. | ||
* | ||
* @param {object} theme | ||
* @param {function} [onSuccess] | ||
* @param {function} [onError] | ||
* @returns {number} callId | ||
*/ | ||
this.saveTheme = function (theme, onSuccess, onError) { | ||
this.validate(theme, 'object', 'You must provide the theme (object) to save.'); | ||
this.validate(theme.Value, 'object', 'You must provide the theme.Value (object) to save.'); | ||
return this.method({ | ||
name: 'saveTheme', | ||
params: { | ||
theme : theme | ||
}, | ||
successCallback: onSuccess, | ||
errorCallback: onError | ||
}); | ||
}; | ||
/** | ||
* Deletes a theme from the current user's account for | ||
* the current app definition. Cannot remove default themes. | ||
* | ||
* @param {string} themeId | ||
@@ -601,9 +658,11 @@ * @param {function} [onSuccess] | ||
*/ | ||
this.removeTheme = function (themeId, onSuccess, onError) { | ||
this.deleteTheme = function (themeId, onSuccess, onError) { | ||
this.validate(themeId, 'string', 'You must provide the ID (string) of the theme to remove.'); | ||
return this.method({ | ||
name: 'removeTheme', | ||
params: themeId, | ||
name: 'deleteTheme', | ||
params: { | ||
themeId: themeId | ||
}, | ||
successCallback: onSuccess, | ||
errorCallback: onError, | ||
errorCallback: onError | ||
}); | ||
@@ -610,0 +669,0 @@ }; |
@@ -1,1 +0,1 @@ | ||
!function(a){"use strict";a.enplug={debug:!1,classes:{},noop:function(){}}}(window),function(a){"use strict";function b(b,d){function e(b){a.debug&&(arguments[0]=c+arguments[0],console.log.apply(console,arguments))}function f(b){if(b.successCallback&&"function"!=typeof b.successCallback)throw new Error(c+"Success callback must be a function.");if(b.successCallback=b.successCallback||a.noop,b.errorCallback&&"function"!=typeof b.errorCallback)throw new Error(c+"Error callback must be a function.");b.errorCallback=b.errorCallback||a.noop}function g(a){try{var b=JSON.parse(a.data);return b.namespace===d&&"boolean"==typeof b.success&&b}catch(c){}return!1}var h="*";this.callId=0,this.pendingCalls={},this.namespace=d,this.send=function(a){if(a.name){a.callId=++this.callId,a.namespace=d,a.transient=!!a.transient,a.persistent=!!a.persistent,f(a),e("Calling method:",a),a.transient||(this.pendingCalls[a.callId]=a);try{var g=JSON.stringify(a);b.parent.postMessage(g,h)}catch(i){console.error(c+"Error:",i)}return a.callId}throw new Error(c+"All transport method calls must have a name.")},this.handleEvent=function(a){if("message"===a.type){var b=g(a);if(b){var c=this.pendingCalls[b.callId];if(c){c.persistent||delete this.pendingCalls[b.callId],e("Calling method "+(b.success?"success":"error")+" callback:",{call:c,response:b});var d=b.success?c.successCallback:c.errorCallback;return d(b.data),!0}}}return!1},this.cleanup=function(){b.removeEventListener("message",this,!1)},b.addEventListener("message",this,!1)}var c="[Enplug SDK] ";b.prototype.TAG=c,a.classes.Transport=b}(window.enplug),function(a,b){"use strict";function c(c){if(!c)throw new Error(b.classes.Transport.prototype.TAG+"Senders must specify a method prefix.");this.prefix=c,this.novalidate=!1,this.transport=new b.classes.Transport(a,c)}c.prototype={validate:function(a,b,c){if(!(this.novalidate||null!=a&&("array"===b?Array.isArray(a):typeof a===b)))throw new Error(this.transport.TAG+c)},method:function(a){if("object"==typeof a)return a.name=this.prefix+"."+a.name,this.transport.send(a);throw new Error("Transport options must be an object.")},cleanup:function(){this.transport.cleanup()}},b.classes.Sender=c}(window,window.enplug),function(a){"use strict";function b(){a.classes.Sender.call(this,"app"),this.getAccount=function(a,b){return this.method({name:"getAccount",successCallback:a,errorCallback:b})},this.getUser=function(a,b){return this.method({name:"getUser",successCallback:a,errorCallback:b})},this.getDisplayGroups=function(a,b){return this.method({name:"getDisplays",successCallback:a,errorCallback:b})},this.getSelectedDisplayId=function(a,b){return this.method({name:"getSelectedDisplayId",successCallback:a,errorCallback:b})},this.getAssets=function(a,b){return this.method({name:"getAssets",successCallback:a,errorCallback:b})},this.bulkCreateAssets=function(a,b,c,d){var e={assets:a,dialogOptions:b||{}};return this.validate(e.assets,"array","You must provide an array of assets (object) when creating new assets."),this.validate(e.assets[0],"object","You must provide an array of assets (object) when creating new assets."),e.assets[0]&&this.validate(e.assets[0].Value,"object","You must provide a Value (object) when creating an asset."),this.method({name:"bulkCreateAssets",params:e,successCallback:c,errorCallback:d})},this.bulkDeployAssets=function(a,b,c,d){var e={assets:a,dialogOptions:b||{}};return this.validate(e.assets,"array","You must provide an array of assets (object) when deploying assets."),this.validate(e.assets[0],"object","You must provide an array of assets (object) when deploying assets."),e.assets[0]&&(this.validate(e.assets[0].Value,"object","You must provide a Value (object) when deploying an asset."),this.validate(e.assets[0].Id,"string","You must provide the ID (string) on the asset you want to update.")),this.method({name:"bulkDeployAssets",params:e,successCallback:c,errorCallback:d})},this.saveAsset=function(a,b,c,d){this.validate(a,"object","You must provide an asset object to save.");var e={asset:a,dialogOptions:b||{}};return this.method({name:"saveAsset",params:e,successCallback:c,errorCallback:d})},this.updateAssetOrder=function(a,b,c){return this.validate(a,"array","You must provide an array of assets (or asset ids) in the new order."),this.method({name:"updateAssetOrder",params:{assets:a},successCallback:b,errorCallback:c})},this.deleteAsset=function(a,b,c){return Array.isArray(a)?(this.validate(a,"array","You must pass a single ID (string) or Array of asset IDs to be deleted."),this.validate(a[0],"string","You must provide at least one Asset ID (string) to be deleted.")):(this.validate(a,"string","You must provide the ID (string) of the asset to delete."),a=[a]),this.method({name:"deleteAsset",params:{ids:a},successCallback:b,errorCallback:c})},this.getDefaultAssets=function(a,b){return this.method({name:"getDefaultAssets",successCallback:a,errorCallback:b})},this.getThemes=function(a,b){return this.method({name:"getThemes",successCallback:a,errorCallback:b})},this.createTheme=function(a,b,c){return this.validate(a,"object","You must provide the new theme (object) to create."),this.method({name:"createTheme",params:a,successCallback:b,errorCallback:c})},this.removeTheme=function(a,b,c){return this.validate(a,"string","You must provide the ID (string) of the theme to remove."),this.method({name:"removeTheme",params:a,successCallback:b,errorCallback:c})},this.getDisplay=this.getDisplayGroups,this.getDisplays=this.getDisplayGroups,this.getDisplayGroup=this.getDisplayGroups}b.prototype=Object.create(a.classes.Sender.prototype),a.classes.AccountSender=b,a.account=new b}(window.enplug),function(a,b){"use strict";function c(){function c(){return g.click(),!0}a.classes.Sender.call(this,"dashboard");var d=[],e=function(){},f=!0;this.setHeaderTitle=function(a,b,c){return this.validate(a,"string","Header title must be a string."),this.method({name:"set.title",params:a,successCallback:b,errorCallback:c})},this.setDisplaySelectorCallback=function(a,b){return this.validate(a,"function","To enable the display selector in the page title you must supply a callback function."),e=a,this.method({name:"set.selectorCallback",params:a,persistent:!0,successCallback:function(a){return"function"==typeof e&&void 0!==a&&e(a),a},errorCallback:b})},this.setDisplaySelectorVisibility=function(a,b,c){return this.validate(a,"boolean","Setting the display selector visibility requires a boolean argument, true to show or false to hide."),this.method({name:"set.selectorEnabled",params:a,successCallback:b,errorCallback:c})},this.switchToView=function(a,b,c,d){var e={displayGroupId:a,displayGroupName:b};return this.method({name:"switchToView",params:e,successCallback:c,errorCallback:d})},this.setHeaderButtons=function(a,b,c){this.validate(a,"object","Header buttons must be an object (single) or array (multiple)."),d=[],a=Array.isArray(a)?a:[a];for(var e=0;e<a.length;e++){var f=a[e];this.validate(f,"object","Header buttons must be objects."),f&&(this.validate(f.action,"function","Header buttons must have an action (function)."),f.id="button-"+Math.round(9999*Math.random()+1),d[f.id]=f)}return this.method({name:"set.buttons",params:a,persistent:!0,successCallback:function(a){if(a){var c=d[a.id];c?c.action():console.warn("Unrecognized button click:",a)}"function"==typeof b&&b(a)},errorCallback:c})},this.pageLoading=function(a,b,c){return this.validate(a,"boolean","Page loading status must be a boolean."),this.method({name:"page.loading",params:a,successCallback:function(){f=a,"function"==typeof b&&b(f)},errorCallback:c})},this.isLoading=function(){return f},this.pageError=function(a,b){return this.method({name:"page.error",successCallback:a,errorCallback:b})},this.pageNotFound=function(a,b){return this.method({name:"page.notFound",successCallback:a,errorCallback:b})},this.loadingIndicator=function(a,b,c){return this.validate(a,"string","Loading indicator requires a loading message (string)"),this.method({name:"indicator.loading",params:a,successCallback:b,errorCallback:c})},this.successIndicator=function(a,b,c){return this.validate(a,"string","Success indicator requires a success message (string)"),this.method({name:"indicator.success",params:a,successCallback:b,errorCallback:c})},this.errorIndicator=function(a,b,c){return this.validate(a,"string","Error indicator requires an error message (string)"),this.method({name:"indicator.error",params:a,successCallback:b,errorCallback:c})},this.openConfirm=function(a,b,c){return this.validate(a,"object","Confirm box requires options to be set (object)."),a&&(this.validate(a.title,"string","Confirm box requires options.title to be set (string)."),this.validate(a.text,"string","Confirm box requires options.text to be set (string).")),this.method({name:"confirm",params:a,successCallback:b,errorCallback:c})},this.confirmUnsavedChanges=function(a,b){return this.method({name:"unsavedChanges",successCallback:a,errorCallback:b})},this.upload=function(a,b,c){return this.method({name:"upload",params:a,successCallback:b,errorCallback:c})},this.cleanup=function(){b.removeEventListener("click",c,!1),a.classes.Sender.prototype.cleanup.call(this)},this.click=function(){return this.method({name:"click",transient:!0})};var g=this;b.addEventListener("click",c,!1)}c.prototype=Object.create(a.classes.Sender.prototype),a.classes.DashboardSender=c,a.dashboard=new c}(window.enplug,document),function(a,b){"use strict";function c(b,c,d){var e=d.send;d.send=function(f){var g=b.defer(),h=f.successCallback||a.noop,i=f.errorCallback||a.noop;return f.successCallback=function(a){c.$apply(function(){g.resolve(a),h(a)})},f.errorCallback=function(a){c.$apply(function(){g.reject(a),i(a)})},e.call(d,f),g.promise}}function d(a){return function(a){return function(d,e){var f=a.charAt(0).toUpperCase()+a.slice(1)+"Sender",g=new b.classes[f];return b[a].cleanup(),b[a]=g,c(d,e,g.transport),g}}(a)}if(a){var e=a.module("enplug.sdk",[]);e.factory("$enplugDashboard",["$q","$rootScope",d("dashboard")]),e.factory("$enplugAccount",["$q","$rootScope",d("account")])}}(window.angular,window.enplug); | ||
!function(a){"use strict";a.enplug={debug:!1,classes:{},noop:function(){}}}(window),function(a){"use strict";function b(b,d){function e(b){a.debug&&(arguments[0]=c+arguments[0],console.log.apply(console,arguments))}function f(b){if(b.successCallback&&"function"!=typeof b.successCallback)throw new Error(c+"Success callback must be a function.");if(b.successCallback=b.successCallback||a.noop,b.errorCallback&&"function"!=typeof b.errorCallback)throw new Error(c+"Error callback must be a function.");b.errorCallback=b.errorCallback||a.noop}function g(a){try{var b=JSON.parse(a.data);return b.namespace===d&&"boolean"==typeof b.success&&b}catch(c){}return!1}var h="*";this.callId=0,this.pendingCalls={},this.namespace=d,this.send=function(a){if(a.name){a.callId=++this.callId,a.namespace=d,a.transient=!!a.transient,a.persistent=!!a.persistent,f(a),e("Calling method:",a),a.transient||(this.pendingCalls[a.callId]=a);try{var g=JSON.stringify(a);b.parent.postMessage(g,h)}catch(i){console.error(c+"Error:",i)}return a.callId}throw new Error(c+"All transport method calls must have a name.")},this.handleEvent=function(a){if("message"===a.type){var b=g(a);if(b){var c=this.pendingCalls[b.callId];if(c){c.persistent||delete this.pendingCalls[b.callId],e("Calling method "+(b.success?"success":"error")+" callback:",{call:c,response:b});var d=b.success?c.successCallback:c.errorCallback;return d(b.data),!0}}}return!1},this.cleanup=function(){b.removeEventListener("message",this,!1)},b.addEventListener("message",this,!1)}var c="[Enplug SDK] ";b.prototype.TAG=c,a.classes.Transport=b}(window.enplug),function(a,b){"use strict";function c(c){if(!c)throw new Error(b.classes.Transport.prototype.TAG+"Senders must specify a method prefix.");this.prefix=c,this.novalidate=!1,this.transport=new b.classes.Transport(a,c)}c.prototype={validate:function(a,b,c){if(!(this.novalidate||null!=a&&("array"===b?Array.isArray(a):typeof a===b)))throw new Error(this.transport.TAG+c)},method:function(a){if("object"==typeof a)return a.name=this.prefix+"."+a.name,this.transport.send(a);throw new Error("Transport options must be an object.")},cleanup:function(){this.transport.cleanup()}},b.classes.Sender=c}(window,window.enplug),function(a){"use strict";function b(){a.classes.Sender.call(this,"app"),this.getAccount=function(a,b){return this.method({name:"getAccount",successCallback:a,errorCallback:b})},this.getUser=function(a,b){return this.method({name:"getUser",successCallback:a,errorCallback:b})},this.getDisplayGroups=function(a,b){return this.method({name:"getDisplays",successCallback:a,errorCallback:b})},this.getSelectedDisplayId=function(a,b){return this.method({name:"getSelectedDisplayId",successCallback:a,errorCallback:b})},this.getAssets=function(a,b){return this.method({name:"getAssets",successCallback:a,errorCallback:b})},this.bulkCreateAssets=function(a,b,c,d){var e={assets:a,dialogOptions:b||{}};return this.validate(e.assets,"array","You must provide an array of assets (object) when creating new assets."),this.validate(e.assets[0],"object","You must provide an array of assets (object) when creating new assets."),e.assets[0]&&this.validate(e.assets[0].Value,"object","You must provide a Value (object) when creating an asset."),this.method({name:"bulkCreateAssets",params:e,successCallback:c,errorCallback:d})},this.bulkDeployAssets=function(a,b,c,d){var e={assets:a,dialogOptions:b||{}};return this.validate(e.assets,"array","You must provide an array of assets (object) when deploying assets."),this.validate(e.assets[0],"object","You must provide an array of assets (object) when deploying assets."),e.assets[0]&&(this.validate(e.assets[0].Value,"object","You must provide a Value (object) when deploying an asset."),this.validate(e.assets[0].Id,"string","You must provide the ID (string) on the asset you want to update.")),this.method({name:"bulkDeployAssets",params:e,successCallback:c,errorCallback:d})},this.saveAsset=function(a,b,c,d){this.validate(a,"object","You must provide an asset object to save.");var e={asset:a,dialogOptions:b||{}};return this.method({name:"saveAsset",params:e,successCallback:c,errorCallback:d})},this.updateAssetOrder=function(a,b,c){return this.validate(a,"array","You must provide an array of assets (or asset ids) in the new order."),this.method({name:"updateAssetOrder",params:{assets:a},successCallback:b,errorCallback:c})},this.deleteAsset=function(a,b,c){return Array.isArray(a)?(this.validate(a,"array","You must pass a single ID (string) or Array of asset IDs to be deleted."),this.validate(a[0],"string","You must provide at least one Asset ID (string) to be deleted.")):(this.validate(a,"string","You must provide the ID (string) of the asset to delete."),a=[a]),this.method({name:"deleteAsset",params:{ids:a},successCallback:b,errorCallback:c})},this.getDefaultAssets=function(a,b){return this.method({name:"getDefaultAssets",successCallback:a,errorCallback:b})},this.getThemes=function(a,b,c){return this.method({name:"getThemes",params:{appId:a},successCallback:b,errorCallback:c})},this.getTheme=function(a,b,c){return this.method({name:"getTheme",params:{id:a},successCallback:b,errorCallback:c})},this.editTheme=function(a,b,c,d,e,f,g){return this.validate(a,"object","You must provide the theme definition (object)."),this.validate(c,"string","You must provide the preview url (string)."),this.method({name:"editTheme",params:{themeDefinition:a,theme:b,previewUrl:c,previewAsset:d,fonts:e},successCallback:f,errorCallback:g})},this.saveTheme=function(a,b,c){return this.validate(a,"object","You must provide the theme (object) to save."),this.validate(a.Value,"object","You must provide the theme.Value (object) to save."),this.method({name:"saveTheme",params:{theme:a},successCallback:b,errorCallback:c})},this.deleteTheme=function(a,b,c){return this.validate(a,"string","You must provide the ID (string) of the theme to remove."),this.method({name:"deleteTheme",params:{themeId:a},successCallback:b,errorCallback:c})},this.getDisplay=this.getDisplayGroups,this.getDisplays=this.getDisplayGroups,this.getDisplayGroup=this.getDisplayGroups}b.prototype=Object.create(a.classes.Sender.prototype),a.classes.AccountSender=b,a.account=new b}(window.enplug),function(a,b){"use strict";function c(){function c(){return g.click(),!0}a.classes.Sender.call(this,"dashboard");var d=[],e=function(){},f=!0;this.setHeaderTitle=function(a,b,c){return this.validate(a,"string","Header title must be a string."),this.method({name:"set.title",params:a,successCallback:b,errorCallback:c})},this.setDisplaySelectorCallback=function(a,b){return this.validate(a,"function","To enable the display selector in the page title you must supply a callback function."),e=a,this.method({name:"set.selectorCallback",params:a,persistent:!0,successCallback:function(a){return"function"==typeof e&&void 0!==a&&e(a),a},errorCallback:b})},this.setDisplaySelectorVisibility=function(a,b,c){return this.validate(a,"boolean","Setting the display selector visibility requires a boolean argument, true to show or false to hide."),this.method({name:"set.selectorEnabled",params:a,successCallback:b,errorCallback:c})},this.switchToView=function(a,b,c,d){var e={displayGroupId:a,displayGroupName:b};return this.method({name:"switchToView",params:e,successCallback:c,errorCallback:d})},this.setHeaderButtons=function(a,b,c){this.validate(a,"object","Header buttons must be an object (single) or array (multiple)."),d=[],a=Array.isArray(a)?a:[a];for(var e=0;e<a.length;e++){var f=a[e];this.validate(f,"object","Header buttons must be objects."),f&&(this.validate(f.action,"function","Header buttons must have an action (function)."),f.id="button-"+Math.round(9999*Math.random()+1),d[f.id]=f)}return this.method({name:"set.buttons",params:a,persistent:!0,successCallback:function(a){if(a){var c=d[a.id];c?c.action():console.warn("Unrecognized button click:",a)}"function"==typeof b&&b(a)},errorCallback:c})},this.pageLoading=function(a,b,c){return this.validate(a,"boolean","Page loading status must be a boolean."),this.method({name:"page.loading",params:a,successCallback:function(){f=a,"function"==typeof b&&b(f)},errorCallback:c})},this.isLoading=function(){return f},this.pageError=function(a,b){return this.method({name:"page.error",successCallback:a,errorCallback:b})},this.pageNotFound=function(a,b){return this.method({name:"page.notFound",successCallback:a,errorCallback:b})},this.loadingIndicator=function(a,b,c){return this.validate(a,"string","Loading indicator requires a loading message (string)"),this.method({name:"indicator.loading",params:a,successCallback:b,errorCallback:c})},this.successIndicator=function(a,b,c){return this.validate(a,"string","Success indicator requires a success message (string)"),this.method({name:"indicator.success",params:a,successCallback:b,errorCallback:c})},this.errorIndicator=function(a,b,c){return this.validate(a,"string","Error indicator requires an error message (string)"),this.method({name:"indicator.error",params:a,successCallback:b,errorCallback:c})},this.openConfirm=function(a,b,c){return this.validate(a,"object","Confirm box requires options to be set (object)."),a&&(this.validate(a.title,"string","Confirm box requires options.title to be set (string)."),this.validate(a.text,"string","Confirm box requires options.text to be set (string).")),this.method({name:"confirm",params:a,successCallback:b,errorCallback:c})},this.confirmUnsavedChanges=function(a,b){return this.method({name:"unsavedChanges",successCallback:a,errorCallback:b})},this.upload=function(a,b,c){return this.method({name:"upload",params:a,successCallback:b,errorCallback:c})},this.cleanup=function(){b.removeEventListener("click",c,!1),a.classes.Sender.prototype.cleanup.call(this)},this.click=function(){return this.method({name:"click",transient:!0})};var g=this;b.addEventListener("click",c,!1)}c.prototype=Object.create(a.classes.Sender.prototype),a.classes.DashboardSender=c,a.dashboard=new c}(window.enplug,document),function(a,b){"use strict";function c(b,c,d){var e=d.send;d.send=function(f){var g=b.defer(),h=f.successCallback||a.noop,i=f.errorCallback||a.noop;return f.successCallback=function(a){c.$apply(function(){g.resolve(a),h(a)})},f.errorCallback=function(a){c.$apply(function(){g.reject(a),i(a)})},e.call(d,f),g.promise}}function d(a){return function(a){return function(d,e){var f=a.charAt(0).toUpperCase()+a.slice(1)+"Sender",g=new b.classes[f];return b[a].cleanup(),b[a]=g,c(d,e,g.transport),g}}(a)}if(a){var e=a.module("enplug.sdk",[]);e.factory("$enplugDashboard",["$q","$rootScope",d("dashboard")]),e.factory("$enplugAccount",["$q","$rootScope",d("account")])}}(window.angular,window.enplug); |
{ | ||
"name": "@enplug/dashboard-sdk", | ||
"version": "4.0.7", | ||
"version": "4.1.0", | ||
"license": "MIT", | ||
@@ -5,0 +5,0 @@ "repository": { |
@@ -1,6 +0,3 @@ | ||
# Enplug JavaScript SDK | ||
# Enplug Dashboard SDK | ||
[![Build Status](https://travis-ci.org/Enplug/dashboard-sdk.svg?branch=master)](https://travis-ci.org/Enplug/dashboard-sdk) | ||
[![Coverage Status](https://coveralls.io/repos/Enplug/dashboard-sdk/badge.svg?branch=master&service=github)](https://coveralls.io/github/Enplug/dashboard-sdk?branch=master) | ||
[![Dependencies Status](https://david-dm.org/Enplug/dashboard-sdk.svg)](https://david-dm.org/Enplug/javascript-sdk.svg) | ||
[![License](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/Enplug/dashboard-sdk/blob/master/LICENSE) | ||
@@ -10,5 +7,2 @@ | ||
# THIS BRANCH IS CURRENTLY A WORK IN PROGRESS # | ||
# LATEST STABLE IS v3.0.3 PLEASE INSTALL THAT INSTEAD # | ||
## Table of Contents | ||
@@ -106,3 +100,3 @@ - [Installing](#installing) | ||
### `.getAccount(onSuccess, onError)` | ||
### `.getUser(onSuccess, onError)` | ||
Loads all information for the current user. | ||
@@ -113,11 +107,19 @@ | ||
{ | ||
id: 'string', // Current display group ID | ||
type: 'string', // User account type | ||
appInstanceId: 'string', // ID of current app when turned on | ||
accountId: 'string' // Current user's account ID | ||
id: 'string', // User id in the system | ||
accountId: 'string' // Current user's account ID | ||
type: 'string', // User access type | ||
data: { | ||
email: 'string', // User email | ||
firstName: 'string', // User name | ||
accountName: 'string',// User account name | ||
}, | ||
has: { | ||
rootAccess: true, // boolean true/false | ||
limitedAccess: true, // boolean true/false | ||
} | ||
} | ||
``` | ||
### `.getDisplayGroups(onSuccess, onError)` | ||
Loads information for the currently selected display group(s). | ||
### `.getDisplays(onSuccess, onError)` | ||
Loads information for the currently selected display group(s). In the account context it will return all Display Groups in the account, in the Display Group context will return only this groups information. | ||
@@ -127,4 +129,4 @@ **Callback receives:** | ||
{ | ||
language: 'string', // e.g. English, Russian, French | ||
orientation: 'string', // Landscape or Portrait | ||
language: 'string', // e.g. English, Russian, French | ||
orientation: 'string', // Landscape or Portrait | ||
timezone: 'string', | ||
@@ -134,2 +136,6 @@ } | ||
### `.getSelectedDisplayId(onSuccess, onError)` | ||
Returns the currently selected display group Id or null if in the Account view. | ||
### `.getAssets(onSuccess, onError)` | ||
@@ -141,21 +147,55 @@ Loads an array of assets for the current app instance. | ||
[{ | ||
Created: 'string', // WCF date | ||
Id: 'string', // Asset ID | ||
Name: 'string', // Asset Name | ||
Value: {} // Value object provided when created | ||
Created: 'string', // WCF date | ||
Id: 'string', // Asset ID | ||
Value: {}, // Value object provided when created | ||
VenueIds: [], // Array of Ids of Display Groups this asset is currently deployed to | ||
ThemeId: 'string' // Optional Theme Id if set | ||
}] | ||
``` | ||
### `.createAsset(assetName, assetValue, onSuccess, onError)` | ||
Creates an asset under the current app instance. | ||
### `.saveAsset(asset, dialogOptions, onSuccess, onError)` | ||
Creates or updates an asset. If asset.Id is null it will create a new asset, otherwise it will update the existing one. | ||
### `.updateAsset(id, value, onSuccess, onError)` | ||
Updates an asset under the current app instance. | ||
- **asset:** object to update the asset's value to | ||
- **dialogOptions:** DeployDialog options, object specifying one or more options: | ||
- **id:** string ID of the asset to be updated. | ||
- **value:** object to update the asset's value to | ||
```js | ||
{ | ||
showSchedule: false, // by default | ||
initialTab: 'displays', // by default, other option is 'schedule' | ||
successMessage: 'Saved config', // Message to show when the save is successful | ||
loadingMessage: 'Saving...', // Message to show while the save call is in progress | ||
showDeployDialog: true // To force showing the DeployDialog when updating existing asset, | ||
// it will be always shown when saving a new asset irrespective of this option | ||
} | ||
``` | ||
### `.deleteAsset(id, onSuccess, onError)` | ||
Deletes an asset under the current app instance. | ||
Deletes one or many assets under the current app instance. | ||
- **id:** id of the asset to delete or array of ids | ||
### `.getThemes(onSuccess, onError)` | ||
Loads an array of assets for the current app instance. | ||
**Callback receives:** | ||
```js | ||
[{ | ||
Created: 'string', // WCF date | ||
Id: 'string', // Theme ID | ||
Value: {}, // Theme definition | ||
}] | ||
``` | ||
### `.saveTheme(theme, onSuccess, onError)` | ||
Creates or updates a theme. If theme.Id is null it will create a new theme, otherwise it will update the existing one. | ||
To use a theme associate it with an existing Asset by calling saveAsset and setting ThemeId. | ||
- **theme:** object to update the theme's value to | ||
### `.deleteTheme(id, onSuccess, onError)` | ||
Deletes an existing theme. | ||
- **id:** id of the theme to delete | ||
## enplug.dashboard | ||
@@ -162,0 +202,0 @@ |
@@ -264,6 +264,7 @@ (function (enplug) { | ||
/** | ||
* Loads available themes for the current app instance app definition. | ||
* Loads available themes for the current app or for specified appId. | ||
* | ||
* Data is passed as the first param to the success callback. | ||
* | ||
* @param {function} [appId] | ||
* @param {function} onSuccess | ||
@@ -273,7 +274,10 @@ * @param {function} [onError] | ||
*/ | ||
this.getThemes = function (onSuccess, onError) { | ||
this.getThemes = function (appId, onSuccess, onError) { | ||
return this.method({ | ||
name: 'getThemes', | ||
params: { | ||
appId: appId | ||
}, | ||
successCallback: onSuccess, | ||
errorCallback: onError, | ||
errorCallback: onError | ||
}); | ||
@@ -283,8 +287,31 @@ }; | ||
/** | ||
* Loads theme by id. | ||
* | ||
* Data is passed as the first param to the success callback. | ||
* | ||
* @param {function} [themeId] | ||
* @param {function} onSuccess | ||
* @param {function} [onError] | ||
* @returns {number} callId | ||
*/ | ||
this.getTheme = function (themeId, onSuccess, onError) { | ||
return this.method({ | ||
name: 'getTheme', | ||
params: { | ||
id: themeId | ||
}, | ||
successCallback: onSuccess, | ||
errorCallback: onError | ||
}); | ||
}; | ||
/** | ||
* Creates a new theme under the current app instance app definition. | ||
* The new theme will be available only under the current user's account. | ||
* | ||
* @param {object} newTheme | ||
* @param {string} newTheme.Name | ||
* @param {Array} newTheme.Assets | ||
* @param {object} themeDefinition | ||
* @param {object} theme | ||
* @param {string} previewUrl | ||
* @param {Array} previewAsset | ||
* @param {function} [onSuccess] | ||
@@ -294,9 +321,16 @@ * @param {function} [onError] | ||
*/ | ||
this.createTheme = function (newTheme, onSuccess, onError) { | ||
this.validate(newTheme, 'object', 'You must provide the new theme (object) to create.'); | ||
this.editTheme = function (themeDef, theme, previewUrl, previewAsset, fonts, onSuccess, onError) { | ||
this.validate(themeDef, 'object', 'You must provide the theme definition (object).'); | ||
this.validate(previewUrl, 'string', 'You must provide the preview url (string).'); | ||
return this.method({ | ||
name: 'createTheme', | ||
params: newTheme, | ||
name: 'editTheme', | ||
params: { | ||
themeDefinition: themeDef, | ||
theme: theme, | ||
previewUrl: previewUrl, | ||
previewAsset: previewAsset, | ||
fonts: fonts | ||
}, | ||
successCallback: onSuccess, | ||
errorCallback: onError, | ||
errorCallback: onError | ||
}); | ||
@@ -306,5 +340,28 @@ }; | ||
/** | ||
* Removes a theme from the current user's account for | ||
* the current app instance app definition. Cannot remove default themes. | ||
* Creates a new theme under the current app definition. | ||
* The new theme will be available to all users in the account. | ||
* | ||
* @param {object} theme | ||
* @param {function} [onSuccess] | ||
* @param {function} [onError] | ||
* @returns {number} callId | ||
*/ | ||
this.saveTheme = function (theme, onSuccess, onError) { | ||
this.validate(theme, 'object', 'You must provide the theme (object) to save.'); | ||
this.validate(theme.Value, 'object', 'You must provide the theme.Value (object) to save.'); | ||
return this.method({ | ||
name: 'saveTheme', | ||
params: { | ||
theme : theme | ||
}, | ||
successCallback: onSuccess, | ||
errorCallback: onError | ||
}); | ||
}; | ||
/** | ||
* Deletes a theme from the current user's account for | ||
* the current app definition. Cannot remove default themes. | ||
* | ||
* @param {string} themeId | ||
@@ -315,9 +372,11 @@ * @param {function} [onSuccess] | ||
*/ | ||
this.removeTheme = function (themeId, onSuccess, onError) { | ||
this.deleteTheme = function (themeId, onSuccess, onError) { | ||
this.validate(themeId, 'string', 'You must provide the ID (string) of the theme to remove.'); | ||
return this.method({ | ||
name: 'removeTheme', | ||
params: themeId, | ||
name: 'deleteTheme', | ||
params: { | ||
themeId: themeId | ||
}, | ||
successCallback: onSuccess, | ||
errorCallback: onError, | ||
errorCallback: onError | ||
}); | ||
@@ -324,0 +383,0 @@ }; |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
112801
2139
316