@c8y/ng1-modules 1018.475.0 → 1018.482.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -167,6 +167,7 @@
167
167
  "ui/directives/icon.js",
168
168
  "ui/directives/appIcon.js",
169
169
  "ui/directives/loadMore.js",
170
+ "ui/directives/keyShortcut.js",
170
171
  "ui/directives/affix.js",
171
172
  "ui/directives/refreshBtn.js",
172
173
  "ui/directives/realtimeBtn.js",
@@ -0,0 +1 @@
1
+ "use strict";!function(){function n(o){return{restrict:"A",link:function(n,t,c){function e(n){t[0].disabled||n.key!==c.c8yKeyShortcut||t[0].click()}o.on("keydown",e),n.$on("$destroy",function(){o.off("keydown",e)})}}}n.$inject=["$document"],angular.module("c8y.ui").directive("c8yKeyShortcut",n)}();
@@ -1 +1 @@
1
- "use strict";function _slicedToArray(e,t){return _arrayWithHoles(e)||_iterableToArrayLimit(e,t)||_unsupportedIterableToArray(e,t)||_nonIterableRest()}function _iterableToArrayLimit(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,p=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(p.push(n.value),p.length!==t);s=!0);}catch(e){c=!0,i=e}finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return p}}function _toArray(e){return _arrayWithHoles(e)||_iterableToArray(e)||_unsupportedIterableToArray(e)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _arrayWithHoles(e){if(Array.isArray(e))return e}function _toConsumableArray(e){return _arrayWithoutHoles(e)||_iterableToArray(e)||_unsupportedIterableToArray(e)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(e,t){var r;if(e)return"string"==typeof e?_arrayLikeToArray(e,t):"Map"===(r="Object"===(r=Object.prototype.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:r)||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?_arrayLikeToArray(e,t):void 0}function _iterableToArray(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function _arrayWithoutHoles(e){if(Array.isArray(e))return _arrayLikeToArray(e)}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}!function(){function e(e,o,c,l,h,f,y,m,d){return new function r(e){var n=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{},t=n.tenantId,u=this,a="x-show-if-any-available",p="title";function i(e){var t=_.cloneDeep(e),e=l.when(t),r=_.find(u.ENTITIES.values(),{staticSchemaPath:u.propertiesCfg.static.path});return e=r?y.list().then(function(e){var t={appliesTo:{}};return t.appliesTo[r.value]=!0,_.filter(e,t)}).then(function(e){return _.map(e,function(e){return _.get(e,"c8y_JsonSchema")})}).then(function(e){return _.forEach(e,function(e){r===u.ENTITIES.TENANTS?_.merge(t.properties.customProperties.properties,e.properties):_.merge(t.properties,e.properties)}),t}):e}function s(e,t,r,n,i){if(r===p&&(r=_.has(i,"type"),i=!_.isUndefined(e),r)&&i)return e}this.ENTITIES=h.createEnum([{name:"MANAGED_OBJECTS",value:"MANAGED_OBJECTS",staticSchemaPath:h.dataFilePath("properties/managed-objects.json")},{name:"MEASUREMENTS",value:"MEASUREMENTS",staticSchemaPath:h.dataFilePath("properties/measurements.json")},{name:"ALARMS",value:"ALARMS",staticSchemaPath:h.dataFilePath("properties/alarms.json")},{name:"EVENTS",value:"EVENTS",staticSchemaPath:h.dataFilePath("properties/events.json")},{name:"TENANTS",value:"TENANTS",staticSchemaPath:h.dataFilePath("properties/tenants.json")}]),this.properties={},this.propertiesCfg={static:{path:e}},this.list=function(){return u.loadProperties().then(_.bind(u.getSimplifiedProperties,u))},this.getProperties=function(){return u.loadProperties().then(_.bind(u.getFullProperties,u))},this.getTenantDetails=function(){return t?d.detail(t).then(h.getResData):d.current()},this.removeKeysDependingOnAppsAvailability=function(t){return function e(t){for(var r=Object.keys(t),n=!1,i=0;i<r.length;i++){var o=r[i];_typeof(t[o])===_typeof({})&&null!==t[o]&&(n=o===a||n||e(t[o]))}return n}(t)?u.getTenantDetails().then(function(e){return e=_.flatMap(e.applications.references,"application"),function t(r,n){var e=Object.keys(r);return _.forEach(e,function(e){void 0===r[e][a]||_.some(r[e][a],function(e){return f.isAppOnTheList(n,e)})?_typeof(r[e])===_typeof({})&&null!==r[e]&&e!==a&&t(r[e],n):delete r[e]}),r}(t,e)}):t},this.loadProperties=_.throttle(function(){return u.loadStaticPropertiesSchema().then(i).then(u.removeKeysDependingOnAppsAvailability).then(_.bind(u.getPropertiesFromSchema,u)).then(_.bind(u.addProperties,u))},1e3,{leading:!0,trailing:!1}),this.loadStaticPropertiesSchema=function(){var e=u.propertiesCfg.static.path;return u.loadStaticPropertiesSchemaFromMemory()||o.get(e).then(h.getResData)},this.pathToKey=function(){var e=u.propertiesCfg.static.path;return _.last(e.split("/")).replace(/\.json$/,"")},this.loadStaticPropertiesSchemaFromMemory=function(){var e=u.pathToKey();return(e=(window.c8y&&window.c8y.collections&&window.c8y.collections.properties||{})[e])&&l.when(e)},this.getPropertiesFromSchema=function(e,t,r){var o=3<arguments.length&&void 0!==arguments[3]?arguments[3]:["properties"],a=4<arguments.length&&void 0!==arguments[4]?arguments[4]:[],p=5<arguments.length&&void 0!==arguments[5]?arguments[5]:[],s=t||e.id||"c8yDefaultSchema",t=_.cloneDeep(r||{type:"object",properties:{}}),c=u.setObjValue(t,o,{});return _.has(e,"properties")&&_.forEach(e.properties,function(e,t){var r=_.cloneDeep(c),n=_.flattenDeep([o,t,"properties"]),i=_.flattenDeep([a,t]),r=u.setObjValue(r,o,_.cloneDeep(e),t),t=u.getNewPropertyObj(s,i,r,e);p.push(t),u.getPropertiesFromSchema(e,s,r,n,i,p)}),p},this.getNewPropertyObj=function(e,t,r,n){var i=t.join("."),e={id:"".concat(e,"!!").concat(i),keyPath:t,type:n.type,printFormat:n.printFormat,label:u.getDefaultPropertyLabel(t,n),schema:r};return n.config&&(e.configSchema=n.config),n.computed&&(e.computed=n.computed),e},this.getFragmentName=function(e){var e=e[e.length-1],t=/_\d{9,}$/;return e=t.test(e)?e.replace(t,""):e},this.getDefaultPropertyLabel=function(e,t){return t=(t=t.title)||(t=(t=u.getFragmentName(e)).replace(/^c8y_/i,"").replace(/([A-Z][a-z])/g," $1").replace(/([^0-9])([0-9])/g,"$1 $2").replace("_"," ").replace(/^\s*/,"").replace(/\s*$/,"")).charAt(0).toUpperCase()+t.slice(1)},this.setObjValue=function(e,t,r,n){for(var i=e,o=0;o<t.length-1;o++)i[t[o]]||(i[t[o]]={}),i=i[t[o]];return n?i[t[o]][n]=r:i[t[o]]=r,e},this.addProperties=function(e){_.forEach(e,function(e){u.properties[e.id]=e})},this.getSimplifiedProperties=function(){return _.map(u.properties,_.bind(u.simplifyProperty,u))},this.simplifyProperty=function(e){return _.pick(e,["id","keyPath","type","label","configSchema","computed","printFormat"])},this.getFullProperties=function(){return _.cloneDeep(u.properties)},this.getSchema=function(e){return u.loadProperties().then(_.bind(u.getSchemaForProperties,u,e)).catch(c.error)},this.getSchemaForProperties=function(o){var a={type:"object",properties:{}};return _.forEach(o,function(e){u.isCustomProperty(e)&&u.addCustomProperty(e),_.mergeWith(a.properties,u.properties[e.id].schema.properties,s);var t,r,n,i=u.findInSchema(a,e);i.id=e.id,i.title=e.label||u.properties[e.id].label,n=i,t=e,r=o,u.isComplexProperty(t)&&0<u.getChildren(t,r).length&&(n.properties={}),_.forEach(_.get(i,"properties"),function(e){_.set(e,p,m.getString(e.title))}),t=a,r=e,n=_.last(r.id.split("!!")),i=_.last(r.keyPath),r.computed&&r.configSchema&&(n!==i&&(t.properties[i]=t.properties[n],delete t.properties[n]),r.config&&4===r.config.resultType&&(t.properties[i].type="object",t.properties[i].properties={value:{title:m.getString("Value"),type:"number"},unit:{title:m.getString("Unit"),type:"string"}}),r.config)&&1===r.config.resultType&&(t.properties[i].type="number")}),function r(e,n){var i=2<arguments.length&&void 0!==arguments[2]?arguments[2]:[];e.properties&&_.forEach(e.properties,function(e,t){n(e,t,[].concat(_toConsumableArray(i),[t])),r(e,n,[].concat(_toConsumableArray(i),[t]))})}(a,function(e,t,r){_.isUndefined(e.title)&&(e.title=u.getDefaultPropertyLabel(r,e))}),a},this.findInSchema=function(e,t){var r=t.keyPath;return t.computed&&(r=[u.getFragmentName(r)]),u.findInSchemaByKeyPath(e,r)},this.findInSchemaById=function(e,t){var r=2<arguments.length&&void 0!==arguments[2]?arguments[2]:[];return _.isObjectLike(e)&&_.forOwn(e,function(e){_.isObjectLike(e)&&e.id===t?r.push(e):u.findInSchemaById(e,t,r)}),r},this.findInSchemaByKeyPath=function(e,t){if(!t.length)return e;if(e.properties){var r=(t=_toArray(t))[0],t=t.slice(1);if(_.has(e.properties,r))return this.findInSchemaByKeyPath(e.properties[r],t)}},this.getForm=function(e,t){return u.loadProperties().then(_.bind(u.getFormForProperties,u,e,t))},this.getFormForProperties=function(e,n){var t=_(e).map(function(e){var t;return e.computed?e:(t=_slicedToArray(e.id.match(/^(.+)!!/),2)[1],t="".concat(t,"!!").concat(e.keyPath[0]),e=u.properties[t],_.pick(e,["id","keyPath"]))}).uniqBy("keyPath").value(),i=u.getSchemaForProperties(e);return t.map(function(e){return t=n,r=i,r=u.findInSchemaByKeyPath(r,e.keyPath),r=function(e,t){return t.computed&&t.configSchema&&(e.key=_.last(t.keyPath)),e}(r={key:ObjectPath.stringify(u.properties[e.id].keyPath),title:r.title||e.label||u.properties[e.id].label},e),_.assign(r,t),r;var t,r})},this.isComplexProperty=function(e){return"object"===e.type},this.isCustomProperty=function(e){return"c8yCustom"===e.id.split("!!")[0]},this.getChildren=function(t,e){return _.filter(e||u.properties,function(e){return t.id!==e.id&&_.isEqual(_.take(e.keyPath,t.keyPath.length),t.keyPath)})},this.changeActiveProperty=function(e,t){return _.map(e,function(e){return _.assign(e,{__active:t})})},this.removeDuplication=function(e){var t,r=e;return _.map(e,function(e){u.isComplexProperty(e)&&(t=_.map(u.getChildren(e),"id"),r=_.reject(r,function(e){return _.includes(t,e.id)}))}),r},this.getParent=function(t){return _.filter(u.properties,function(e){return t.keyPath.length>e.keyPath.length&&_.isEqual(_.take(t.keyPath,e.keyPath.length),e.keyPath)})},this.addCustomProperty=function(e){u.properties[e.id]||(u.properties[e.id]={}),_.merge(u.properties[e.id],e)},this.another=function(e,t){return new r(e,void 0===t?n:t)},this.paths=_.reduce(this.ENTITIES.values(),function(e,t){return e[_.startCase(_.camelCase(t.value)).replace(" ","")]=t.staticSchemaPath,e},{})}(h.dataFilePath("properties/managed-objects.json"))}e.$inject=["$filter","$http","$log","$q","c8yBase","c8yApplication","c8yJsonSchemas","gettextCatalog","c8yTenant"],angular.module("c8y.ui").provider("c8yPropertiesLibrary",function(){return{$get:e}})}();
1
+ "use strict";function _slicedToArray(e,t){return _arrayWithHoles(e)||_iterableToArrayLimit(e,t)||_unsupportedIterableToArray(e,t)||_nonIterableRest()}function _iterableToArrayLimit(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,p=[],s=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(p.push(n.value),p.length!==t);s=!0);}catch(e){c=!0,i=e}finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return p}}function _toArray(e){return _arrayWithHoles(e)||_iterableToArray(e)||_unsupportedIterableToArray(e)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _arrayWithHoles(e){if(Array.isArray(e))return e}function _toConsumableArray(e){return _arrayWithoutHoles(e)||_iterableToArray(e)||_unsupportedIterableToArray(e)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(e,t){var r;if(e)return"string"==typeof e?_arrayLikeToArray(e,t):"Map"===(r="Object"===(r=Object.prototype.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:r)||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?_arrayLikeToArray(e,t):void 0}function _iterableToArray(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function _arrayWithoutHoles(e){if(Array.isArray(e))return _arrayLikeToArray(e)}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}!function(){function e(e,o,c,l,h,f,y,m,d){return new function r(e){var n=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{},t=n.tenantId,u=this,a="x-show-if-any-available",p="title";function i(e){var t=_.cloneDeep(e),e=l.when(t),r=_.find(u.ENTITIES.values(),{staticSchemaPath:u.propertiesCfg.static.path});return e=r?y.list().then(function(e){var t={appliesTo:{}};return t.appliesTo[r.value]=!0,_.filter(e,t)}).then(function(e){return _.map(e,function(e){return _.get(e,"c8y_JsonSchema")})}).then(function(e){return _.forEach(e,function(e){r===u.ENTITIES.TENANTS?_.merge(t.properties.customProperties.properties,e.properties):_.merge(t.properties,e.properties)}),t}):e}function s(e,t,r,n,i){if(r===p&&(r=_.has(i,"type"),i=!_.isUndefined(e),r)&&i)return e}this.ENTITIES=h.createEnum([{name:"MANAGED_OBJECTS",value:"MANAGED_OBJECTS",staticSchemaPath:h.dataFilePath("properties/managed-objects.json")},{name:"MEASUREMENTS",value:"MEASUREMENTS",staticSchemaPath:h.dataFilePath("properties/measurements.json")},{name:"ALARMS",value:"ALARMS",staticSchemaPath:h.dataFilePath("properties/alarms.json")},{name:"EVENTS",value:"EVENTS",staticSchemaPath:h.dataFilePath("properties/events.json")},{name:"TENANTS",value:"TENANTS",staticSchemaPath:h.dataFilePath("properties/tenants.json")}]),this.properties={},this.propertiesCfg={static:{path:e}},this.list=function(){return u.loadProperties().then(_.bind(u.getSimplifiedProperties,u))},this.getProperties=function(){return u.loadProperties().then(_.bind(u.getFullProperties,u))},this.getTenantDetails=function(){return t?d.detail(t).then(h.getResData):d.current()},this.removeKeysDependingOnAppsAvailability=function(t){return function e(t){for(var r=Object.keys(t),n=!1,i=0;i<r.length;i++){var o=r[i];_typeof(t[o])===_typeof({})&&null!==t[o]&&(n=o===a||n||e(t[o]))}return n}(t)?u.getTenantDetails().then(function(e){return e=_.flatMap(e.applications.references,"application"),function t(r,n){var e=Object.keys(r);return _.forEach(e,function(e){void 0===r[e][a]||_.some(r[e][a],function(e){return f.isAppOnTheList(n,e)})?_typeof(r[e])===_typeof({})&&null!==r[e]&&e!==a&&t(r[e],n):delete r[e]}),r}(t,e)}):t},this.loadProperties=_.throttle(function(){return u.loadStaticPropertiesSchema().then(i).then(u.removeKeysDependingOnAppsAvailability).then(_.bind(u.getPropertiesFromSchema,u)).then(_.bind(u.addProperties,u))},1e3,{leading:!0,trailing:!1}),this.loadStaticPropertiesSchema=function(){var e=u.propertiesCfg.static.path;return u.loadStaticPropertiesSchemaFromMemory()||o.get(e).then(h.getResData)},this.pathToKey=function(){var e=u.propertiesCfg.static.path;return _.last(e.split("/")).replace(/\.json$/,"")},this.loadStaticPropertiesSchemaFromMemory=function(){var e=u.pathToKey();return(e=(window.c8y&&window.c8y.collections&&window.c8y.collections.properties||{})[e])&&l.when(e)},this.getPropertiesFromSchema=function(e,t,r){var o=3<arguments.length&&void 0!==arguments[3]?arguments[3]:["properties"],a=4<arguments.length&&void 0!==arguments[4]?arguments[4]:[],p=5<arguments.length&&void 0!==arguments[5]?arguments[5]:[],s=t||e.id||"c8yDefaultSchema",t=_.cloneDeep(r||{type:"object",properties:{}}),c=u.setObjValue(t,o,{});return _.has(e,"properties")&&_.forEach(e.properties,function(e,t){var r=_.cloneDeep(c),n=_.flattenDeep([o,t,"properties"]),i=_.flattenDeep([a,t]),r=u.setObjValue(r,o,_.cloneDeep(e),t),t=u.getNewPropertyObj(s,i,r,e);p.push(t),u.getPropertiesFromSchema(e,s,r,n,i,p)}),p},this.getNewPropertyObj=function(e,t,r,n){var i=t.join("."),e={id:"".concat(e,"!!").concat(i),keyPath:t,type:n.type,printFormat:n.printFormat,label:u.getDefaultPropertyLabel(t,n),schema:r};return n.config&&(e.configSchema=n.config),n.computed&&(e.computed=n.computed),e},this.getFragmentName=function(e){var e=e[e.length-1],t=/_\d{9,}$/;return e=t.test(e)?e.replace(t,""):e},this.getDefaultPropertyLabel=function(e,t){return t=(t=t.title)||(t=(t=u.getFragmentName(e)).replace(/^c8y_/i,"").replace(/([A-Z][a-z])/g," $1").replace(/([^0-9])([0-9])/g,"$1 $2").replace("_"," ").replace(/^\s*/,"").replace(/\s*$/,"")).charAt(0).toUpperCase()+t.slice(1)},this.setObjValue=function(e,t,r,n){for(var i=e,o=0;o<t.length-1;o++)i[t[o]]||(i[t[o]]={}),i=i[t[o]];return n?i[t[o]][n]=r:i[t[o]]=r,e},this.addProperties=function(e){_.forEach(e,function(e){u.properties[e.id]=e})},this.getSimplifiedProperties=function(){return _.map(u.properties,_.bind(u.simplifyProperty,u))},this.simplifyProperty=function(e){return _.pick(e,["id","keyPath","type","label","configSchema","computed","printFormat"])},this.getFullProperties=function(){return _.cloneDeep(u.properties)},this.getSchema=function(e){return u.loadProperties().then(_.bind(u.getSchemaForProperties,u,e)).catch(c.error)},this.getSchemaForProperties=function(o){var a={type:"object",properties:{}};return _.forEach(o,function(e){u.isCustomProperty(e)&&u.addCustomProperty(e),_.mergeWith(a.properties,u.properties[e.id].schema.properties,s);var t,r,n,i=u.findInSchema(a,e);i&&(i.id=e.id,i.title=e.label||u.properties[e.id].label,n=i,t=e,r=o,u.isComplexProperty(t)&&0<u.getChildren(t,r).length&&(n.properties={}),_.forEach(_.get(i,"properties"),function(e){_.set(e,p,m.getString(e.title))}),t=a,r=e,n=_.last(r.id.split("!!")),i=_.last(r.keyPath),r.computed)&&r.configSchema&&(n!==i&&(t.properties[i]=t.properties[n],delete t.properties[n]),r.config&&4===r.config.resultType&&(t.properties[i].type="object",t.properties[i].properties={value:{title:m.getString("Value"),type:"number"},unit:{title:m.getString("Unit"),type:"string"}}),r.config)&&1===r.config.resultType&&(t.properties[i].type="number")}),function r(e,n){var i=2<arguments.length&&void 0!==arguments[2]?arguments[2]:[];e.properties&&_.forEach(e.properties,function(e,t){n(e,t,[].concat(_toConsumableArray(i),[t])),r(e,n,[].concat(_toConsumableArray(i),[t]))})}(a,function(e,t,r){_.isUndefined(e.title)&&(e.title=u.getDefaultPropertyLabel(r,e))}),a},this.findInSchema=function(e,t){var r=t.keyPath;return t.computed&&(r=[u.getFragmentName(r)]),u.findInSchemaByKeyPath(e,r)},this.findInSchemaById=function(e,t){var r=2<arguments.length&&void 0!==arguments[2]?arguments[2]:[];return _.isObjectLike(e)&&_.forOwn(e,function(e){_.isObjectLike(e)&&e.id===t?r.push(e):u.findInSchemaById(e,t,r)}),r},this.findInSchemaByKeyPath=function(e,t){if(!t.length)return e;if(e.properties){var r=(t=_toArray(t))[0],t=t.slice(1);if(_.has(e.properties,r))return this.findInSchemaByKeyPath(e.properties[r],t)}},this.getForm=function(e,t){return u.loadProperties().then(_.bind(u.getFormForProperties,u,e,t))},this.getFormForProperties=function(e,n){var t=_(e).map(function(e){var t;return e.computed?e:(t=_slicedToArray(e.id.match(/^(.+)!!/),2)[1],t="".concat(t,"!!").concat(e.keyPath[0]),e=u.properties[t],_.pick(e,["id","keyPath"]))}).uniqBy("keyPath").value(),i=u.getSchemaForProperties(e);return t.map(function(e){return t=n,r=i,r=u.findInSchemaByKeyPath(r,e.keyPath),r=function(e,t){return t.computed&&t.configSchema&&(e.key=_.last(t.keyPath)),e}(r={key:ObjectPath.stringify(u.properties[e.id].keyPath),title:r.title||e.label||u.properties[e.id].label},e),_.assign(r,t),r;var t,r})},this.isComplexProperty=function(e){return"object"===e.type},this.isCustomProperty=function(e){return"c8yCustom"===e.id.split("!!")[0]},this.getChildren=function(t,e){return _.filter(e||u.properties,function(e){return t.id!==e.id&&_.isEqual(_.take(e.keyPath,t.keyPath.length),t.keyPath)})},this.changeActiveProperty=function(e,t){return _.map(e,function(e){return _.assign(e,{__active:t})})},this.removeDuplication=function(e){var t,r=e;return _.map(e,function(e){u.isComplexProperty(e)&&(t=_.map(u.getChildren(e),"id"),r=_.reject(r,function(e){return _.includes(t,e.id)}))}),r},this.getParent=function(t){return _.filter(u.properties,function(e){return t.keyPath.length>e.keyPath.length&&_.isEqual(_.take(t.keyPath,e.keyPath.length),e.keyPath)})},this.addCustomProperty=function(e){u.properties[e.id]||(u.properties[e.id]={}),_.merge(u.properties[e.id],e)},this.another=function(e,t){return new r(e,void 0===t?n:t)},this.paths=_.reduce(this.ENTITIES.values(),function(e,t){return e[_.startCase(_.camelCase(t.value)).replace(" ","")]=t.staticSchemaPath,e},{})}(h.dataFilePath("properties/managed-objects.json"))}e.$inject=["$filter","$http","$log","$q","c8yBase","c8yApplication","c8yJsonSchemas","gettextCatalog","c8yTenant"],angular.module("c8y.ui").provider("c8yPropertiesLibrary",function(){return{$get:e}})}();
@@ -1,27 +1,30 @@
1
1
  <!-- empty state-->
2
2
  <c8y-ui-empty-state
3
- ng-if="data.length === 0 && !isFiltered"
4
3
  [icon]="'c8y-archive'"
5
4
  [title]="'No audit logs to display.' | translate"
5
+ ng-if="data.length === 0 && !isFiltered"
6
6
  ></c8y-ui-empty-state>
7
7
 
8
8
  <!-- no results empty state-->
9
9
  <c8y-ui-empty-state
10
- ng-if="data.length === 0 && isFiltered"
11
10
  [icon]="'search'"
12
11
  [title]="'No results to display.' | translate"
13
12
  [subtitle]="'Refine your search terms or check your spelling.' | translate"
13
+ ng-if="data.length === 0 && isFiltered"
14
14
  ></c8y-ui-empty-state>
15
15
 
16
- <div class="page-sticky-header hidden-xs c8y-list__item c8y-list--timeline" ng-if="data.length > 0">
16
+ <div
17
+ class="page-sticky-header hidden-xs c8y-list__item c8y-list--timeline"
18
+ ng-if="data.length > 0"
19
+ >
17
20
  <div class="d-flex">
18
21
  <div class="c8y-list--timeline__item__date a-s-center">
19
22
  <label class="m-0">
20
23
  {{ 'Time' | translate }}
21
24
  <button
22
25
  class="btn-help btn-help--sm"
23
- type="button"
24
26
  aria-label="{{ 'Help' | translate }}"
27
+ type="button"
25
28
  uib-popover-html="'Server time can be different from device times in other fields.' | translate"
26
29
  popover-placement="right"
27
30
  popover-trigger="'focus'"
@@ -46,59 +49,71 @@
46
49
  </div>
47
50
  </div>
48
51
 
49
- <div class="c8y-list__group c8y-list--timeline" ng-if="data.length > 0">
50
- <div ng-repeat="audit in data" class="c8y-list--timeline__item">
52
+ <div
53
+ class="c8y-list__group c8y-list--timeline"
54
+ ng-if="data.length > 0"
55
+ >
56
+ <div
57
+ class="c8y-list--timeline__item"
58
+ ng-repeat="audit in data"
59
+ >
51
60
  <small class="c8y-list--timeline__item__date">
52
61
  {{ audit.creationTime | absoluteDate }}
53
62
  </small>
54
63
  <div class="c8y-list__item">
55
64
  <div class="c8y-list__item__block">
56
- <div class="c8y-list__item__icon" ng-if="columnsConfig.type">
65
+ <div
66
+ class="c8y-list__item__icon"
67
+ ng-if="columnsConfig.type"
68
+ >
57
69
  <button
58
70
  class="btn-clean"
59
- type="button"
60
71
  aria-label="{{ 'Audit' | translate }}"
61
72
  uib-tooltip="{{ convertType(audit.type) | translate }}"
62
73
  tooltip-trigger="'mouseenter'"
63
74
  tooltip-popup-delay="500"
64
75
  tooltip-append-to-body="true"
76
+ type="button"
65
77
  ng-if="convertTypeIcon(audit.type)"
66
78
  >
67
79
  <i c8y-icon="{{ convertTypeIcon(audit.type) }}"></i>
68
80
  </button>
69
81
  <i
82
+ class="text-gray-medium-dark"
70
83
  c8y-icon="c8y-events"
71
84
  ng-if="!convertTypeIcon(audit.type)"
72
- class="text-gray-medium-dark"
73
85
  ></i>
74
86
  </div>
75
87
 
76
- <div class="c8y-list__item__body" ng-class="{ 'bg-warning': audit._isSupport }">
88
+ <div
89
+ class="c8y-list__item__body"
90
+ ng-class="{ 'bg-warning': audit._isSupport }"
91
+ >
77
92
  <div class="content-flex-57">
78
93
  <div
79
- ng-if="columnsConfig.what"
80
94
  ng-class="{ 'col-12': !columnsConfig.text, 'col-4': columnsConfig.text }"
95
+ ng-if="columnsConfig.what"
81
96
  >
82
97
  <span>
83
98
  {{ audit.activity | translate }}
84
99
  </span>
85
100
  </div>
86
101
  <div
87
- ng-if="columnsConfig.text"
88
102
  ng-class="{ 'col-12': !columnsConfig.what, 'col-8': columnsConfig.what }"
103
+ ng-if="columnsConfig.text"
89
104
  >
90
105
  <div class="text-truncate-wrap">
91
106
  <p
92
107
  class="small text-break-word"
93
- ng-if="columnsConfig.text"
94
108
  title="{{ audit.text | translate }}"
109
+ ng-if="columnsConfig.text"
95
110
  >
96
111
  {{ audit.text | translate }}
97
112
  </p>
98
113
  <small
99
- ng-if="columnsConfig.what"
100
114
  class="text-muted hidden-xs"
101
115
  title="{{ audit._parsedChanges }}"
116
+ ng-if="columnsConfig.what"
102
117
  >
103
118
  {{ audit._parsedChanges }}
104
119
  </small>
@@ -106,21 +121,28 @@
106
121
  </div>
107
122
  </div>
108
123
  <div class="c8y-list__item__footer m-t-4 separator-top">
109
- <a ng-if="audit.sourceLink" class="small m-r-16" ng-href="{{ audit.sourceLink }}">
124
+ <a
125
+ class="small m-r-16"
126
+ ng-if="audit.sourceLink"
127
+ ng-href="{{ audit.sourceLink }}"
128
+ >
110
129
  <i c8y-icon="dot-circle-o"></i>
111
130
  {{ 'Source' | translate }}
112
131
  </a>
113
132
  <button
114
133
  class="btn btn-dot small m-r-8"
115
- type="button"
116
134
  title="{{ 'Go to source' | translate }}"
135
+ type="button"
117
136
  ng-if="audit.sourceInfo && audit.showCogWheel && !hideDevice"
118
137
  ng-click="goToAuditDetail(audit.sourceInfo)"
119
138
  >
120
139
  <i c8y-icon="dot-circle-o"></i>
121
140
  {{ 'Source' | translate }}
122
141
  </button>
123
- <span ng-if="audit.user" class="m-r-16">
142
+ <span
143
+ class="m-r-16"
144
+ ng-if="audit.user"
145
+ >
124
146
  <span class="text-label-small">
125
147
  {{ 'By`user`' | translate }}
126
148
  </span>
@@ -1,23 +1,32 @@
1
- <div class="modal-header separator-bottom" ng-show="title">
1
+ <div
2
+ class="modal-header separator-bottom"
3
+ ng-show="title"
4
+ >
2
5
  <h3 id="modal-title">{{ title | translate }}</h3>
3
6
  </div>
4
- <div class="modal-body" id="modal-body">
5
- <form name="forms.retentionForm" novalidate>
6
- <c8y-edit-retention-rule ng-model="rule"> </c8y-edit-retention-rule>
7
+ <div
8
+ class="modal-body"
9
+ id="modal-body"
10
+ >
11
+ <form
12
+ name="forms.retentionForm"
13
+ novalidate
14
+ >
15
+ <c8y-edit-retention-rule ng-model="rule"></c8y-edit-retention-rule>
7
16
  </form>
8
17
  </div>
9
18
  <div class="modal-footer">
10
- <button
11
- title="{{ 'Cancel' | translate }}"
12
- class="btn btn-default"
19
+ <button
20
+ class="btn btn-default"
21
+ title="{{ 'Cancel' | translate }}"
13
22
  ng-click="$dismiss()"
14
23
  >
15
24
  {{ 'Cancel' | translate }}
16
25
  </button>
17
26
  <button
27
+ class="btn btn-primary"
18
28
  title="{{ 'Save' | translate }}"
19
29
  ng-disabled="forms.retentionForm.$invalid || forms.retentionForm.$pristine"
20
- class="btn btn-primary"
21
30
  ng-click="saveWithConfirmation(rule)"
22
31
  >
23
32
  {{ 'Save' | translate }}
@@ -97,6 +97,7 @@
97
97
  title="{{ 'Reset' | translate }}"
98
98
  ng-disabled="!wrapperform.$dirty"
99
99
  ng-click="vm.resetForm(wrapperform)"
100
+ c8y-key-shortcut="Escape"
100
101
  >
101
102
  {{ 'Reset' | translate }}
102
103
  </button>
@@ -107,6 +108,7 @@
107
108
  ng-click="vm.save()"
108
109
  ng-disabled="!vm.canSave() || !wrapperform.$dirty"
109
110
  ng-hide="vm.isLoading"
111
+ c8y-key-shortcut="Enter"
110
112
  >
111
113
  {{ 'Save' | translate }}
112
114
  </button>
@@ -1,9 +1,11 @@
1
- <div ng-controller="gaugeCtrl" class="p-16 fit-h d-flex d-col flex-center">
1
+ <div
2
+ class="p-t-40 p-l-16 p-r-16 p-b-16 fit-h d-flex d-col flex-center overflow-hidden"
3
+ ng-controller="gaugeCtrl"
4
+ >
2
5
  <c8y-linear-gauge
3
6
  dp="dataPoint"
4
7
  measurement="measurement"
5
8
  time="time"
6
9
  fraction-size="child.config.fractionSize"
7
- >
8
- </c8y-linear-gauge>
9
- </div>
10
+ ></c8y-linear-gauge>
11
+ </div>
@@ -1 +1 @@
1
- "use strict";!function(){function t(o,t,a,n,e){var i,c,r,d,s,l=_.debounce(f,300,{leading:!1,trailing:!0}),m=12e4,u=!1,e=e("Realtime is active. Deactivate it to edit date and time.");function f(){c&&r.dateFrom&&r.dateTo&&(u=!0,c.loadData(r.dateFrom,r.dateTo,o.aggregation).then(p).finally(function(){u=!1,o.onDataChange({chart:c})}))}function D(t){c.realtimeMeasurement(t)&&(h(),p(),o.selectable())&&(g(i),o.selected)&&c.setSelectPoint(o.selected)}function p(){i=moment()}function h(){!u&&moment().diff(i)>m&&f()}function g(t,e){var e=e||{},t=moment(t),a=moment.duration(moment(r.dateTo).diff(r.dateFrom)),a=moment(t).subtract(a),a=(r.dateFrom=a.toDate(),r.dateTo=t.toDate(),r),t=a.dateFrom,a=a.dateTo;e.notrigger&&(s=!0),c.axisX.updateDates(t,a,!1),e.loadData&&f()}var $={dateFrom:!1,dateTo:!1,aggregation:!1,datapoints:!1};function T(t){t&&($[t]=!0),_.every($,function(t){return!0===t})&&l()}function F(){h(),moment(c.axisX._to).isBefore(moment())&&!c.allowSelectFocusTime&&g(moment(),{notrigger:1})}function v(){return _.map(o.datapoints,function(t,e){return{id:e,name:t.label,datapoint:t,datapointActive:t.__active}})}function w(t){o.seriesSelected=t;t=_.map(o.seriesSelected,"datapoint");c.updateSeries(t,!0)}t.$on("c8yRealtime::connected",function(){f()}),this.init=function(t){c=t,o.chart=c,r={},o.internalDates=r,d=n(F),c.axisX.onUpdateDates=function(t,e){r.dateFrom=t,r.dateTo=e},o.$watch("dateFrom",function(t){moment(o.internalDates.dateFrom).isSame(t)||(o.internalDates.dateFrom=new Date(t),c.axisX.updateDates(t,o.dateTo,!1),T("dateFrom"))}),o.$watch("dateTo",function(t){moment(o.internalDates.dateTo).isSame(t)||(o.internalDates.dateTo=new Date(t),c.axisX.updateDates(o.dateFrom,t,!1),T("dateTo"))}),o.$watch("internalDates",function(t,e){var a=t.dateFrom&&moment(t.dateFrom).toDate(),n=t.dateTo&&moment(t.dateTo).toDate();o.datesValid=a&&n&&a<=n,o.datesValid&&(o.onUpdateDisplayedDates&&o.onUpdateDisplayedDates({$dateFrom:a,$dateTo:n}),s?s=!1:t!==e&&o.onUpdateDates&&(o.onUpdateDates({$dateFrom:a,$dateTo:n}),c.axisX.updateDates(a,n,!1),o.realtime||l()))},!0),o.$watch("aggregation",function(){return T("aggregation")}),o.$watch("datapoints",function(){o.seriesAvailable=v(),o.seriesSelected?w(_.filter(o.seriesAvailable,"datapointActive")):w(function(){var t=_.filter(v(),"datapointActive"),e=o.datapointsInitialDisplayLimit;if(_.isUndefined(e))return t;return _.take(t,e)}())},!0),o.$watchCollection("datapoints",function(){return T("datapoints")}),o.$watch("realtime",function(t){!t||o.selectable()?d.cancel():(g(moment(),{notrigger:1,loadData:1}),d.start())}),o.$watch("selected",function(t){t?c.setSelectPoint(t):c.clearSelectPoint()}),c.onSelectPoint=function(t){a(function(){o.selected=t})},o.$watch(function(){return o.selectable()},function(t){(c.allowSelectFocusTime=t)&&d.cancel()}),o.$watch("chart.chartBox",function(t,e){_.isEqual(t,e)||o.onBoxChanged({box:t})});var e=_.throttle(c.render.bind(c),500);o.$on("dashboardResize",function(){return e()}),o.$watch("showTime()",function(t){t?c.showDateSelection():c.hideDateSelection()}),o.onData=D,o.$on("$destroy",function(){return d.cancel()}),o.onSeriesSelectionChanged=w},o.data={},o.realtimeActiveInfo=e}t.$inject=["$scope","$rootScope","$timeout","RTAutoMove","gettext"],angular.module("c8y.core.measurements2").controller("c8yChartCtrl",t)}();
1
+ "use strict";!function(){function t(o,t,a,n,e){var i,c,r,d,l,s=_.debounce(f,300,{leading:!1,trailing:!0}),m=12e4,u=!1,e=e("Realtime is active. Deactivate it to edit date and time.");function f(){c&&r.dateFrom&&r.dateTo&&(u=!0,c.loadData(r.dateFrom,r.dateTo,o.aggregation).then(p).finally(function(){u=!1,o.onDataChange({chart:c})}))}function D(t){c.realtimeMeasurement(t)&&(h(),p(),o.selectable())&&(g(i),o.selected)&&c.setSelectPoint(o.selected)}function p(){i=moment()}function h(){!u&&moment().diff(i)>m&&f()}function g(t,e){var e=e||{},t=moment(t),a=moment.duration(moment(r.dateTo).diff(r.dateFrom)),a=moment(t).subtract(a),a=(r.dateFrom=a.toDate(),r.dateTo=t.toDate(),r),t=a.dateFrom,a=a.dateTo;e.notrigger&&(l=!0),c.axisX.updateDates(t,a,!1),e.loadData&&f()}var $={dateFrom:!1,dateTo:!1,aggregation:!1,datapoints:!1};function v(t){t&&($[t]=!0),_.every($,function(t){return!0===t})&&s()}function T(){h(),moment(c.axisX._to).isBefore(moment())&&!c.allowSelectFocusTime&&g(moment(),{notrigger:1})}function w(){return _.map(o.datapoints,function(t,e){return{id:e,name:t.label,datapoint:t,datapointActive:t.__active}})}function F(t){o.seriesSelected=t;t=_.map(o.seriesSelected,"datapoint");c.updateSeries(t,!0)}t.$on("c8yRealtime::connected",function(){f()}),this.init=function(t){c=t,o.chart=c,r={},o.internalDates=r,d=n(T),c.axisX.onUpdateDates=function(t,e){r.dateFrom=t,r.dateTo=e},o.$watch("dateFrom",function(t){moment(o.internalDates.dateFrom).isSame(t)||(o.internalDates.dateFrom=new Date(t),c.axisX.updateDates(t,o.dateTo,!1),v("dateFrom"))}),o.$watch("dateTo",function(t){moment(o.internalDates.dateTo).isSame(t)||(o.internalDates.dateTo=new Date(t),c.axisX.updateDates(o.dateFrom,t,!1),v("dateTo"))}),o.$watch("internalDates",function(t,e){var a=t.dateFrom&&moment(t.dateFrom).toDate(),n=t.dateTo&&moment(t.dateTo).toDate();o.datesValid=a&&n&&a<=n,o.datesValid&&(o.onUpdateDisplayedDates&&o.onUpdateDisplayedDates({$dateFrom:a,$dateTo:n}),l?l=!1:t!==e&&o.onUpdateDates&&(o.onUpdateDates({$dateFrom:a,$dateTo:n}),c.axisX.updateDates(a,n,!1),o.realtime&&new Date(e.dateTo).valueOf()-new Date(e.dateFrom).valueOf()==n.valueOf()-a.valueOf()||s()))},!0),o.$watch("aggregation",function(){return v("aggregation")}),o.$watch("datapoints",function(){o.seriesAvailable=w(),o.seriesSelected?F(_.filter(o.seriesAvailable,"datapointActive")):F(function(){var t=_.filter(w(),"datapointActive"),e=o.datapointsInitialDisplayLimit;if(_.isUndefined(e))return t;return _.take(t,e)}())},!0),o.$watchCollection("datapoints",function(){return v("datapoints")}),o.$watch("realtime",function(t){!t||o.selectable()?d.cancel():(g(moment(),{notrigger:1,loadData:1}),d.start())}),o.$watch("selected",function(t){t?c.setSelectPoint(t):c.clearSelectPoint()}),c.onSelectPoint=function(t){a(function(){o.selected=t})},o.$watch(function(){return o.selectable()},function(t){(c.allowSelectFocusTime=t)&&d.cancel()}),o.$watch("chart.chartBox",function(t,e){_.isEqual(t,e)||o.onBoxChanged({box:t})});var e=_.throttle(c.render.bind(c),500);o.$on("dashboardResize",function(){return e()}),o.$watch("showTime()",function(t){t?c.showDateSelection():c.hideDateSelection()}),o.onData=D,o.$on("$destroy",function(){return d.cancel()}),o.onSeriesSelectionChanged=F},o.data={},o.realtimeActiveInfo=e}t.$inject=["$scope","$rootScope","$timeout","RTAutoMove","gettext"],angular.module("c8y.core.measurements2").controller("c8yChartCtrl",t)}();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@c8y/ng1-modules",
3
- "version": "1018.475.0",
3
+ "version": "1018.482.19",
4
4
  "license": "Apache-2.0",
5
5
  "author": "Cumulocity",
6
6
  "description": "AngularJS modules for Cumulocity IoT applications.",
@@ -126,6 +126,7 @@
126
126
  type="button"
127
127
  title="{{ 'Cancel' | translate }}"
128
128
  ng-click="vm.cancel()"
129
+ c8y-key-shortcut="Escape"
129
130
  >
130
131
  {{ 'Cancel' | translate }}
131
132
  </button>
@@ -135,6 +136,7 @@
135
136
  title="{{ 'Save' | translate }}"
136
137
  ng-click="vm.save()"
137
138
  ng-disabled="vm.saving || vm.globalRoleDetailForm.$invalid || (vm.role.id && vm.globalRoleDetailForm.$pristine)"
139
+ c8y-key-shortcut="Enter"
138
140
  >
139
141
  {{ 'Save' | translate }}
140
142
  </button>