@c8y/ng1-modules 1017.66.0 → 1017.68.0

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.
Files changed (33) hide show
  1. package/NOTICES +1 -1
  2. package/cockpit-cockpitConfig/cumulocity.json +1 -2
  3. package/core/core/services/measurements.js +1 -1
  4. package/core/ui/controllers/eventList.js +1 -1
  5. package/core/ui/directives/eventList.js +1 -1
  6. package/core/ui/views/eventList.html +1 -1
  7. package/dataPointExplorer/controllers/dataPointWidgetConfig.js +1 -1
  8. package/dataPointExplorer/views/widgetConfig.html +1 -5
  9. package/dataPointTable/index.js +1 -1
  10. package/dataPointTable/views/dataPointTable.html +9 -3
  11. package/dataPointTable/views/widget.html +16 -11
  12. package/dataPointTable/views/widgetConfig.html +111 -64
  13. package/dataPointTable/widget.controller.js +1 -1
  14. package/eventList/eventList.controller.js +1 -1
  15. package/eventList/index.js +1 -1
  16. package/eventList/views/eventList.html +7 -1
  17. package/eventList/views/eventListConfig.html +38 -0
  18. package/package.json +1 -2
  19. package/cockpit-cockpitConfig/webpack-specific.js +0 -1
  20. package/rotation3dWidget/components/viewer3d.component.js +0 -1
  21. package/rotation3dWidget/components/viewer3dConfig.component.js +0 -1
  22. package/rotation3dWidget/components/webscene.component.js +0 -1
  23. package/rotation3dWidget/cumulocity.json +0 -26
  24. package/rotation3dWidget/img/rotation-widget-pr.png +0 -0
  25. package/rotation3dWidget/index.js +0 -1
  26. package/rotation3dWidget/meshes/box.json +0 -82
  27. package/rotation3dWidget/meshes/phoneModel.json +0 -79
  28. package/rotation3dWidget/views/rotation.html +0 -4
  29. package/rotation3dWidget/views/rotation3dConfig.html +0 -25
  30. package/rotation3dWidget/views/rotationConfig.html +0 -2
  31. package/rotation3dWidget/views/viewer3d.html +0 -7
  32. package/rotation3dWidget/webpack-specific.js +0 -1
  33. package/rotation3dWidget/webscene-loader.service.js +0 -1
package/NOTICES CHANGED
@@ -2304,7 +2304,7 @@ SOFTWARE
2304
2304
 
2305
2305
  -----
2306
2306
 
2307
- The following software may be included in this product: @types/babel__core, @types/babel__generator, @types/babel__template, @types/babel__traverse, @types/body-parser, @types/bonjour, @types/connect, @types/connect-history-api-fallback, @types/cron, @types/eslint, @types/eslint-scope, @types/estree, @types/express, @types/express-serve-static-core, @types/file-saver, @types/fs-extra, @types/graceful-fs, @types/html-minifier-terser, @types/http-proxy, @types/istanbul-lib-coverage, @types/istanbul-reports, @types/jest, @types/jsdom, @types/json-schema, @types/jsonfile, @types/marked, @types/mime, @types/node, @types/parse5, @types/prettier, @types/qs, @types/range-parser, @types/resolve, @types/semver, @types/serve-index, @types/serve-static, @types/sinonjs__fake-timers, @types/sizzle, @types/sockjs, @types/stack-utils, @types/tough-cookie, @types/webpack, @types/webpack-dev-server, @types/ws, @types/yargs, @types/yargs-parser, @types/yauzl. A copy of the source code may be downloaded from https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/babel__core), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/babel__generator), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/babel__template), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/babel__traverse), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/body-parser), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/bonjour), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/connect), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/connect-history-api-fallback), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/cron), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/eslint), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/eslint-scope), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/estree), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/express), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/express-serve-static-core), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/file-saver), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/fs-extra), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/graceful-fs), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/html-minifier-terser), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/http-proxy), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/istanbul-lib-coverage), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/istanbul-reports), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/jest), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/jsdom), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/json-schema), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/jsonfile), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/marked), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/mime), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/node), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/parse5), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/prettier), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/qs), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/range-parser), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/resolve), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/semver), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/serve-index), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/serve-static), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/sinonjs__fake-timers), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/sizzle), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/sockjs), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/stack-utils), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/tough-cookie), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/webpack), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/ws), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/yargs), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/yargs-parser), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/yauzl). This software contains the following license and notice below:
2307
+ The following software may be included in this product: @types/babel__core, @types/babel__generator, @types/babel__template, @types/babel__traverse, @types/body-parser, @types/bonjour, @types/connect, @types/connect-history-api-fallback, @types/cron, @types/eslint, @types/eslint-scope, @types/estree, @types/express, @types/express-serve-static-core, @types/file-saver, @types/fs-extra, @types/graceful-fs, @types/html-minifier-terser, @types/http-proxy, @types/istanbul-lib-coverage, @types/istanbul-reports, @types/jest, @types/jsdom, @types/json-schema, @types/jsonfile, @types/marked, @types/mime, @types/node, @types/parse5, @types/prettier, @types/qs, @types/range-parser, @types/resolve, @types/semver, @types/serve-index, @types/serve-static, @types/sinonjs__fake-timers, @types/sizzle, @types/sockjs, @types/stack-utils, @types/three, @types/tough-cookie, @types/webpack, @types/webpack-dev-server, @types/webxr, @types/ws, @types/yargs, @types/yargs-parser, @types/yauzl. A copy of the source code may be downloaded from https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/babel__core), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/babel__generator), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/babel__template), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/babel__traverse), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/body-parser), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/bonjour), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/connect), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/connect-history-api-fallback), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/cron), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/eslint), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/eslint-scope), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/estree), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/express), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/express-serve-static-core), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/file-saver), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/fs-extra), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/graceful-fs), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/html-minifier-terser), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/http-proxy), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/istanbul-lib-coverage), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/istanbul-reports), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/jest), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/jsdom), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/json-schema), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/jsonfile), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/marked), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/mime), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/node), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/parse5), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/prettier), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/qs), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/range-parser), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/resolve), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/semver), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/serve-index), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/serve-static), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/sinonjs__fake-timers), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/sizzle), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/sockjs), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/stack-utils), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/three), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/tough-cookie), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/webpack), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/webxr), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/ws), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/yargs), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/yargs-parser), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/yauzl). This software contains the following license and notice below:
2308
2308
 
2309
2309
  MIT License
2310
2310
 
@@ -17,8 +17,7 @@
17
17
  "webpackOverride": {
18
18
  "js": [
19
19
  "index.js",
20
- "services/navigator.js",
21
- "webpack-specific.js"
20
+ "services/navigator.js"
22
21
  ]
23
22
  }
24
23
  }
@@ -1 +1 @@
1
- "use strict";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(u,l,p,c,v,e,o,t){var g=window.c8y_testing?1:500,m=2083,a=v.clean,f="measurement/measurements",i={headers:v.contentHeaders("measurement")},d=t.getUnitHeaders(),n={status:"DEPLOYED",name:"c8yui_measurements",body:'insert into SendNotification\n select\n measurement as payload,\n "c8yui/measurements" as channelName\n from MeasurementCreated;'},h=1440,s=_.once(function(){var e=v.url(f),t={params:{pageSize:1},headers:{Accept:b.stream.value},silentError:!0};if(window.c8y_testing)return l.when();return u.get(e,t).catch(function(e){b.stream.notAcceptable=406===e.status})});function y(e){var t=e.id||e;return"".concat(v.url(f),"/").concat(t)}var b=v.createEnum([{name:"stream",value:"application/json-stream"},{name:"csv",value:"text/csv"},{name:"xlsx",value:"application/vnd.ms-excel"}]);function F(e,t){var n,r=v.url(f),a=_.assign({},v.todayFilter({}),{pageSize:h},e),i={params:a};return n=t?(i.responseType="blob",function(e){return e.data}):v.cleanListCallback("measurements",F,a),function(e){return s().then(function(){return e&&_(b).reject("notAcceptable").map("value").includes(e.value)?e.value:"application/json"})}(t||b.stream).then(function(t){return d.then(function(e){return i.headers=_.assign({},e,{Accept:t}),u.get(r,i).then(function(e){return 202===e.status?l.reject({async:!0,data:e.data}):e})})}).then(n)}function w(e){var t=h,n=v.url("".concat(f,"/series")),r=v.todayFilter(_.assign({pageSize:t,revert:!0},e||{}));r.dateFrom&&(r.dateFrom=moment(r.dateFrom).format(v.dateFullFormat)),r.dateTo&&(r.dateTo=moment(r.dateTo).format(v.dateFullFormat));var a={params:r},i=function(e){return e.data},o=_.findIndex(w._cacheFilter,_.partial(_.isEqual,r)),s=0<=o?w._cacheRequest[o]:null;return r.dateFrom&&(r.dateFrom=moment(r.dateFrom).format(v.dateFullFormat)),r.dateTo&&(r.dateTo=moment(r.dateTo).format(v.dateFullFormat)),function(e,t){return"".concat(v.absoluteUrl(e),"?").concat(c(t)).length>m}(n,r)&&_.unset(r,"series"),d.then(function(e){if(_.assign(a,{headers:e}),!s){s=u.get(n,a).then(i);var t=_.cloneDeep(r);w._cacheFilter.push(_.cloneDeep(t)),w._cacheRequest.push(s),moment(r.dateTo).isAfter(moment())&&setTimeout(function(){!function(e,t){_.remove(w._cacheFilter,e),_.remove(w._cacheRequest,t)}(t,s)},3e3)}return s})}function r(e){var t=v.url(f),n=e,r=_.cloneDeep(i);if(!n.source)throw new Error("c8yMeasurement: source must be defined");return u.post(t,n,r)}function S(e){var t=y(e),n=a(e),r=_.cloneDeep(i);return u.put(t,n,r)}w._cacheFilter=[],w._cacheRequest=[];var T=[];return{format:b,list:F,listPaged:function(e){var r=l.defer(),a=_.assign(e||{},{pageSize:1e3,withTotalPages:!0}),i=!1;return _.assign(r.promise,{cancel:function(){i=!0,r.reject("canceled")}}),F(a).then(function e(t){var n=!_.isUndefined(t.paging.next)&&t.length>=a.pageSize;return r.notify(t),n||r.resolve(!0),!!i||!n||t.paging.next().then(e)}),r.promise},listSeries:w,listSeriesPaged:function(e){var n=l.defer(),t=_.assign({revert:!0},e||{},{pageSize:1e3,withTotalPages:!0}),r=!1;return _.assign(n.promise,{cancel:function(){r=!0,n.reject("canceled")}}),w(t).then(function e(t){return n.notify(t),t.paging.next||n.resolve(!0),!!r||!t.paging.next||t.paging.next().then(e)}),n.promise},detail:function(e){var t=y(e);return u.get(t)},create:r,update:S,save:function(e){return e.id?S(e):r(e)},remove:function(e){var t=y(e);return u.delete(t)},activateCep:function(){return e.createOrDeploy(n)},latest:function(){var r=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},e=1<arguments.length?arguments[1]:void 0,a={};if(!r.device)throw new Error("filter.device must be defined");if(!r.fragment)throw new Error("filter.fragment must be defined");if(!r.series)throw new Error("filter.series must be defined");var t=F(_.assign(v.timeOrderFilter(),{revert:!0,valueFragmentType:r.fragment,valueFragmentSeries:r.series,source:r.device,pageSize:1,dateTo:void 0})).then(function(e){return _.assign(a,_.first(e)||{}),a});if(e){var n={ops:"CREATE",channel:"/measurements/".concat(r.device),onUpdate:function(e,t){var n=t[r.fragment];n&&n[r.series]&&_.assign(a,t)}},i=o.watch(n);t.stop=_.bind(i.stop,i)}return t},listForDataPoint:function(e,t,n,r,a){var i=T;"object"===_typeof(a)&&(i=a._cachedRequests||[],a._cachedRequests=i);var o=t,s=n,u=e.__target.id,c=("NONE"!==r?r:0)||void 0;if(o){switch(o=moment(o),r){case"HOURLY":o.subtract(1,"hour").startOf("hour");break;case"DAILY":o.subtract(1,"day").startOf("day");break;default:o.subtract(1,"minute").startOf("minute")}o=o.format(v.dateFullFormat)}if(s){switch(s=moment(s),r){case"HOURLY":s.add(1,"hour").startOf("hour");break;case"DAILY":s.add(1,"days").startOf("day");break;default:s.add(1,"minute").startOf("minute")}s=s.format(v.dateFullFormat)}var m={dateFrom:o,dateTo:s,source:u,aggregationType:c},f=_.find(i,function(e){return _.isMatch(e.filters,m)});f||(f={deferred:l.defer(),sendDebounced:function(){return f._sendDebounced(),f.deferred.promise},_sendDebounced:_.debounce(function(){w(f.filters).then(_.unary(f.deferred.resolve))},g),filters:m},i.push(f));var d=[e.fragment,e.series].join(".");return f.filters.series=_.uniq((f.filters.series||[]).concat([d])),p(function(){return f.sendDebounced().then(function(t){return function(e){var n=_.findIndex(e.series,function(e){return e.name===t.series&&e.type===t.fragment}),r=[];return-1<n&&_.forEach(e.values,function(e,t){_.isObjectLike(e[n])&&r.push({time:t,min:e[n].min&&Number(e[n].min),max:e[n].max&&Number(e[n].max)})}),{dataPoint:t,values:r,truncated:e.truncated}}}(e)).then(function(e){return e.aggregation=r,e.dateFrom=o,e.dateTo=s,e}).finally(function(){_.remove(i,f)})},5)},rtMeasurementForDatapoint:function(i){return function(e){var t=i.__target.id,n=i.fragment,r=i.series,a=_.get(e,[n,r]);return e.source.id===t&&!!a&&{dataPoint:i,values:[{time:e.time,min:a.value,max:a.value}]}}}}}e.$inject=["$http","$q","$timeout","$httpParamSerializer","c8yBase","c8yCepModule","c8yRealtime","c8yMeasurementUnits"],angular.module("c8y.core").factory("c8yMeasurements",e)}();
1
+ "use strict";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(u,l,p,c,g,e,i,t){var v=window.c8y_testing?1:500,m=2083,a=g.clean,d="measurement/measurements",o={headers:g.contentHeaders("measurement")},f=t.getUnitHeaders(),n={status:"DEPLOYED",name:"c8yui_measurements",body:'insert into SendNotification\n select\n measurement as payload,\n "c8yui/measurements" as channelName\n from MeasurementCreated;'},h=1440,s=_.once(function(){var e=g.url(d),t={params:{pageSize:1,dateFrom:moment(0).toISOString(),dateTo:moment().toISOString(),revert:!0},headers:{Accept:b.stream.value},silentError:!0};if(window.c8y_testing)return l.when();return u.get(e,t).catch(function(e){b.stream.notAcceptable=406===e.status})});function y(e){var t=e.id||e;return"".concat(g.url(d),"/").concat(t)}var b=g.createEnum([{name:"stream",value:"application/json-stream"},{name:"csv",value:"text/csv"},{name:"xlsx",value:"application/vnd.ms-excel"}]);function F(e,t){var n,r=g.url(d),a=_.assign({},g.todayFilter({}),{pageSize:h},e),o={params:a};return n=t?(o.responseType="blob",function(e){return e.data}):g.cleanListCallback("measurements",F,a),function(e){return s().then(function(){return e&&_(b).reject("notAcceptable").map("value").includes(e.value)?e.value:"application/json"})}(t||b.stream).then(function(t){return f.then(function(e){return o.headers=_.assign({},e,{Accept:t}),u.get(r,o).then(function(e){return 202===e.status?l.reject({async:!0,data:e.data}):e})})}).then(n)}function S(e){var t=h,n=g.url("".concat(d,"/series")),r=g.todayFilter(_.assign({pageSize:t,revert:!0},e||{}));r.dateFrom&&(r.dateFrom=moment(r.dateFrom).format(g.dateFullFormat)),r.dateTo&&(r.dateTo=moment(r.dateTo).format(g.dateFullFormat));var a={params:r},o=function(e){return e.data},i=_.findIndex(S._cacheFilter,_.partial(_.isEqual,r)),s=0<=i?S._cacheRequest[i]:null;return r.dateFrom&&(r.dateFrom=moment(r.dateFrom).format(g.dateFullFormat)),r.dateTo&&(r.dateTo=moment(r.dateTo).format(g.dateFullFormat)),function(e,t){return"".concat(g.absoluteUrl(e),"?").concat(c(t)).length>m}(n,r)&&_.unset(r,"series"),f.then(function(e){if(_.assign(a,{headers:e}),!s){s=u.get(n,a).then(o);var t=_.cloneDeep(r);S._cacheFilter.push(_.cloneDeep(t)),S._cacheRequest.push(s),moment(r.dateTo).isAfter(moment())&&setTimeout(function(){!function(e,t){_.remove(S._cacheFilter,e),_.remove(S._cacheRequest,t)}(t,s)},3e3)}return s})}function r(e){var t=g.url(d),n=e,r=_.cloneDeep(o);if(!n.source)throw new Error("c8yMeasurement: source must be defined");return u.post(t,n,r)}function w(e){var t=y(e),n=a(e),r=_.cloneDeep(o);return u.put(t,n,r)}S._cacheFilter=[],S._cacheRequest=[];var T=[];return{format:b,list:F,listPaged:function(e){var r=l.defer(),a=_.assign(e||{},{pageSize:1e3,withTotalPages:!0}),o=!1;return _.assign(r.promise,{cancel:function(){o=!0,r.reject("canceled")}}),F(a).then(function e(t){var n=!_.isUndefined(t.paging.next)&&t.length>=a.pageSize;return r.notify(t),n||r.resolve(!0),!!o||!n||t.paging.next().then(e)}),r.promise},listSeries:S,listSeriesPaged:function(e){var n=l.defer(),t=_.assign({revert:!0},e||{},{pageSize:1e3,withTotalPages:!0}),r=!1;return _.assign(n.promise,{cancel:function(){r=!0,n.reject("canceled")}}),S(t).then(function e(t){return n.notify(t),t.paging.next||n.resolve(!0),!!r||!t.paging.next||t.paging.next().then(e)}),n.promise},detail:function(e){var t=y(e);return u.get(t)},create:r,update:w,save:function(e){return e.id?w(e):r(e)},remove:function(e){var t=y(e);return u.delete(t)},activateCep:function(){return e.createOrDeploy(n)},latest:function(){var r=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},e=1<arguments.length?arguments[1]:void 0,a={};if(!r.device)throw new Error("filter.device must be defined");if(!r.fragment)throw new Error("filter.fragment must be defined");if(!r.series)throw new Error("filter.series must be defined");var t=F(_.assign(g.timeOrderFilter(),{revert:!0,valueFragmentType:r.fragment,valueFragmentSeries:r.series,source:r.device,pageSize:1,dateTo:void 0})).then(function(e){return _.assign(a,_.first(e)||{}),a});if(e){var n={ops:"CREATE",channel:"/measurements/".concat(r.device),onUpdate:function(e,t){var n=t[r.fragment];n&&n[r.series]&&_.assign(a,t)}},o=i.watch(n);t.stop=_.bind(o.stop,o)}return t},listForDataPoint:function(e,t,n,r,a){var o=T;"object"===_typeof(a)&&(o=a._cachedRequests||[],a._cachedRequests=o);var i=t,s=n,u=e.__target.id,c=("NONE"!==r?r:0)||void 0;if(i){switch(i=moment(i),r){case"HOURLY":i.subtract(1,"hour").startOf("hour");break;case"DAILY":i.subtract(1,"day").startOf("day");break;default:i.subtract(1,"minute").startOf("minute")}i=i.format(g.dateFullFormat)}if(s){switch(s=moment(s),r){case"HOURLY":s.add(1,"hour").startOf("hour");break;case"DAILY":s.add(1,"days").startOf("day");break;default:s.add(1,"minute").startOf("minute")}s=s.format(g.dateFullFormat)}var m={dateFrom:i,dateTo:s,source:u,aggregationType:c},d=_.find(o,function(e){return _.isMatch(e.filters,m)});d||(d={deferred:l.defer(),sendDebounced:function(){return d._sendDebounced(),d.deferred.promise},_sendDebounced:_.debounce(function(){S(d.filters).then(_.unary(d.deferred.resolve))},v),filters:m},o.push(d));var f=[e.fragment,e.series].join(".");return d.filters.series=_.uniq((d.filters.series||[]).concat([f])),p(function(){return d.sendDebounced().then(function(t){return function(e){var n=_.findIndex(e.series,function(e){return e.name===t.series&&e.type===t.fragment}),r=[];return-1<n&&_.forEach(e.values,function(e,t){_.isObjectLike(e[n])&&r.push({time:t,min:e[n].min&&Number(e[n].min),max:e[n].max&&Number(e[n].max)})}),{dataPoint:t,values:r,truncated:e.truncated}}}(e)).then(function(e){return e.aggregation=r,e.dateFrom=i,e.dateTo=s,e}).finally(function(){_.remove(o,d)})},5)},rtMeasurementForDatapoint:function(o){return function(e){var t=o.__target.id,n=o.fragment,r=o.series,a=_.get(e,[n,r]);return e.source.id===t&&!!a&&{dataPoint:o,values:[{time:e.time,min:a.value,max:a.value}]}}}}}e.$inject=["$http","$q","$timeout","$httpParamSerializer","c8yBase","c8yCepModule","c8yRealtime","c8yMeasurementUnits"],angular.module("c8y.core").factory("c8yMeasurements",e)}();
@@ -1 +1 @@
1
- "use strict";!function(){function e(a,i,n,r,t,o,d,s){var l=this;l.datePickerOptionsFrom={},l.datePickerOptionsTo={},a.refreshLoading=!1;var c=[],f=!0;function u(e,t){(!a.events||a.refreshLoading||t)&&(a.events=[],a.refreshLoading=!1),a.ordering="".concat(f?"-":"","dateTime"),a.events=_.uniqBy(a.events.concat(e),"id"),_.forEach(a.events,function(e){e.dateTime=new Date(e.time)}),a.paging=e.paging,T(a.events.length),a.onEventLoaded({qty:a.events.length})}function e(){!function(){var e=a.realtimeChannel;b(),t.getStatus(a.$id,e)&&e!==a.realtimeChannel&&(w(),function(e){t.stop(a.$id,e)}(e),E())}(),a.refreshLoading=!0,m(),T()}function m(e){var t=function(e){var i=e||{};return _.assign(i,a.filters),_.forOwn(i,function(e,t){e||delete i[t]}),(i.source||i.deviceId)&&(i.source=i.source||i.deviceId,delete i.deviceId,i.withSourceDevices=!0,i.withSourceAssets=!0),_.isUndefined(i.pageSize)&&(i.pageSize=10),i.dateFrom&&(i.dateFrom=moment(i.dateFrom).startOf("day").format(r.dateFullFormat)),i.dateTo&&(i.dateTo=moment(i.dateTo).endOf("day").format(r.dateFullFormat)),i}(e);return n.list(t).then(u)}function g(){a.refreshLoading=!0,f?(f=!1,y().finally(function(){a.refreshLoading=!1})):a.paging.refresh().then(_.partialRight(u,!0))}function v(e){return c.indexOf(e)}function h(e){return-1<v(e)}function y(){f=!f,a.recentFirstActive=f;var e=a.paging.statistics.totalPages,t=f?void 0:{currentPage:e};return a.refreshLoading=!0,m(t)}function p(e,t,i){var n={};e&&(n.dateFrom=moment(e).format(r.dateFullFormat)),t&&(n.dateTo=moment(t).format(r.dateFullFormat)),i?n.type=i:(delete n.type,delete a.filters.type),_.merge(a.filters,n)}function F(e){a.dateTo=void 0,a.dateFrom=void 0,l.dateTo=a.dateTo,l.dateFrom=a.dateFrom,a.filters.dateTo=void 0,a.filters.dateFrom=void 0,l.eventType=void 0,p(a.dateFrom,a.dateTo,e)}function T(e){a.filters.source||(a.title=d("Events"),a.subtitle=e?s.getString("{{qty}} loaded",{qty:e}):""),a.showPageTitles&&(a.filters.deviceId||o.changeTitle({title:d("Events"),subtitle:e?s.getString("{{qty}} loaded",{qty:e}):""}))}function $(e,t){if(!_.some(a.events,{id:t.id})){t.dateTime=new Date(t.time);var i=t.dateTime;a.filters.dateFrom&&i<moment(a.filters.dateFrom).startOf("day")||a.filters.dateTo&&i>moment(a.filters.dateTo).endOf("day")||a.filters.type&&a.filters.type!==t.type||a.events.push(t)}}function L(e,t){_.remove(a.events,{id:t.id})}function S(e,t){var i=_.findIndex(a.events,{id:t.id});a.events[i]=t}function C(){a.refreshLoading=!0,m(),T()}function E(){t.start(a.$id,a.realtimeChannel)}function w(){t.addListener(a.$id,a.realtimeChannel,"".concat(a.$id,"-subscribed"),C),t.addListener(a.$id,a.realtimeChannel,"CREATE",$),t.addListener(a.$id,a.realtimeChannel,"UPDATE",S),t.addListener(a.$id,a.realtimeChannel,"DELETE",L)}function b(){var e=a.filters.deviceId||a.filters.source;a.realtimeChannel="/eventsWithChildren/".concat(e||"*")}function O(){return r.checkIfModulesExist(["c8y.eventsBinary"])}a.$watch(function(){return l.dateFrom},function(e){l.datePickerOptionsTo={minDate:e}}),a.$watch(function(){return l.dateTo},function(e){l.datePickerOptionsFrom={maxDate:e}}),l.subscriberId=a.$id,l.filters=a.filters,l.filter=p,l.clearFilter=F,a.isEventsBinaryModuleAvailable=O,a.displayEventsBinary=function(e){return O()&&e.c8y_IsBinary},a.refresh=g,a.loadNext=function(e){if(a.paging.loading=!0,e)a.refreshLoading=!0,m({pageSize:e}).finally(function(){a.refreshLoading=!1});else{var t=f?"next":"prev";a.paging[t]().then(u).finally(function(){a.paging.loading=!1})}},a.isOpen=h,a.toggle=function(e){h(e)?c.splice(v(e),1):c.push(e)},a.filters=a.filters||{},a.getStandardKeys=n.getStandardKeys,a.getNonStandardKeys=function(e){return _.without(n.getNonStandardKeys(e),"dateTime")},a.recentFirst=y,a.filter=p,a.clearFilter=F;var I,R={};a.absolute=function(e){var t=R[e.id];return t||(t=i("absoluteDate")(e.time),R[e.id]=t),t},a.$watch("realtime",function(){a.realtime!==t.getStatus(a.$id,a.realtimeChannel)&&t.switchRealtime(a.$id,a.realtimeChannel)}),a.$on("eventListRefresh",g),a.$on("$destroy",function(){t.removeSubscriber(a.$id,a.realtimeChannel)}),a.$watch("filters",e,!0),b(),w(),a.initialRealtimeState=(I=[a.initialRealtimeState,a.realtime],_.head(_.reject(I,_.isUndefined))),a.initialRealtimeState&&(a.realtime=a.initialRealtimeState,E())}e.$inject=["$scope","$filter","c8yEvents","c8yBase","c8yRealtime","c8yTitle","gettext","gettextCatalog"],angular.module("c8y.ui").controller("eventList",e)}();
1
+ "use strict";!function(){function e(a,i,n,r,t,o,d,s){var l=this;l.datePickerOptionsFrom={},l.datePickerOptionsTo={},a.refreshLoading=!1;var c=[],f=!0;function u(e,t){(!a.events||a.refreshLoading||t)&&(a.events=[],a.refreshLoading=!1),a.ordering="".concat(f?"-":"","dateTime"),a.events=_.uniqBy(a.events.concat(e),"id"),_.forEach(a.events,function(e){e.dateTime=new Date(e.time)}),a.paging=e.paging,T(a.events.length),a.onEventLoaded({qty:a.events.length})}function e(){!function(){var e=a.realtimeChannel;b(),t.getStatus(a.$id,e)&&e!==a.realtimeChannel&&(w(),function(e){t.stop(a.$id,e)}(e),E())}(),a.refreshLoading=!0,m(),T()}function m(e){var t=function(e){var i=e||{};_.assign(i,a.filters),_.forOwn(i,function(e,t){e||delete i[t]}),(i.source||i.deviceId)&&(i.source=i.source||i.deviceId,delete i.deviceId,i.withSourceDevices=!0,i.withSourceAssets=!0),_.isUndefined(i.pageSize)&&(i.pageSize=10);var t=a.timeRangeUnit||"day";return i.dateFrom&&(i.dateFrom=moment(i.dateFrom).startOf(t).format(r.dateFullFormat)),i.dateTo&&(i.dateTo=moment(i.dateTo).endOf(t).format(r.dateFullFormat)),i}(e);return n.list(t).then(u)}function g(){a.refreshLoading=!0,f?(f=!1,y().finally(function(){a.refreshLoading=!1})):a.paging.refresh().then(_.partialRight(u,!0))}function v(e){return c.indexOf(e)}function h(e){return-1<v(e)}function y(){f=!f,a.recentFirstActive=f;var e=a.paging.statistics.totalPages,t=f?void 0:{currentPage:e};return a.refreshLoading=!0,m(t)}function p(e,t,i){var n={};e&&(n.dateFrom=moment(e).format(r.dateFullFormat)),t&&(n.dateTo=moment(t).format(r.dateFullFormat)),i?n.type=i:(delete n.type,delete a.filters.type),_.merge(a.filters,n)}function F(e){a.dateTo=void 0,a.dateFrom=void 0,l.dateTo=a.dateTo,l.dateFrom=a.dateFrom,a.filters.dateTo=void 0,a.filters.dateFrom=void 0,l.eventType=void 0,p(a.dateFrom,a.dateTo,e)}function T(e){a.filters.source||(a.title=d("Events"),a.subtitle=e?s.getString("{{qty}} loaded",{qty:e}):""),a.showPageTitles&&(a.filters.deviceId||o.changeTitle({title:d("Events"),subtitle:e?s.getString("{{qty}} loaded",{qty:e}):""}))}function $(e,t){if(!_.some(a.events,{id:t.id})){t.dateTime=new Date(t.time);var i=t.dateTime;a.filters.dateFrom&&i<moment(a.filters.dateFrom).startOf("day")||a.filters.dateTo&&i>moment(a.filters.dateTo).endOf("day")||a.filters.type&&a.filters.type!==t.type||a.events.push(t)}}function L(e,t){_.remove(a.events,{id:t.id})}function S(e,t){var i=_.findIndex(a.events,{id:t.id});a.events[i]=t}function C(){a.refreshLoading=!0,m(),T()}function E(){t.start(a.$id,a.realtimeChannel)}function w(){t.addListener(a.$id,a.realtimeChannel,"".concat(a.$id,"-subscribed"),C),t.addListener(a.$id,a.realtimeChannel,"CREATE",$),t.addListener(a.$id,a.realtimeChannel,"UPDATE",S),t.addListener(a.$id,a.realtimeChannel,"DELETE",L)}function b(){var e=a.filters.deviceId||a.filters.source;a.realtimeChannel="/eventsWithChildren/".concat(e||"*")}function O(){return r.checkIfModulesExist(["c8y.eventsBinary"])}a.$watch(function(){return l.dateFrom},function(e){l.datePickerOptionsTo={minDate:e}}),a.$watch(function(){return l.dateTo},function(e){l.datePickerOptionsFrom={maxDate:e}}),l.subscriberId=a.$id,l.filters=a.filters,l.filter=p,l.clearFilter=F,a.isEventsBinaryModuleAvailable=O,a.displayEventsBinary=function(e){return O()&&e.c8y_IsBinary},a.refresh=g,a.loadNext=function(e){if(a.paging.loading=!0,e)a.refreshLoading=!0,m({pageSize:e}).finally(function(){a.refreshLoading=!1});else{var t=f?"next":"prev";a.paging[t]().then(u).finally(function(){a.paging.loading=!1})}},a.isOpen=h,a.toggle=function(e){h(e)?c.splice(v(e),1):c.push(e)},a.filters=a.filters||{},a.getStandardKeys=n.getStandardKeys,a.getNonStandardKeys=function(e){return _.without(n.getNonStandardKeys(e),"dateTime")},a.recentFirst=y,a.filter=p,a.clearFilter=F;var R,I={};a.absolute=function(e){var t=I[e.id];return t||(t=i("absoluteDate")(e.time),I[e.id]=t),t},a.$watch("realtime",function(){a.realtime!==t.getStatus(a.$id,a.realtimeChannel)&&t.switchRealtime(a.$id,a.realtimeChannel)}),a.$on("eventListRefresh",g),a.$on("$destroy",function(){t.removeSubscriber(a.$id,a.realtimeChannel)}),a.$watch("filters",e,!0),b(),w(),a.initialRealtimeState=(R=[a.initialRealtimeState,a.realtime],_.head(_.reject(R,_.isUndefined))),a.initialRealtimeState&&(a.realtime=a.initialRealtimeState,E())}e.$inject=["$scope","$filter","c8yEvents","c8yBase","c8yRealtime","c8yTitle","gettext","gettextCatalog"],angular.module("c8y.ui").controller("eventList",e)}();
@@ -1 +1 @@
1
- "use strict";angular.module("c8y.ui").directive("c8yEventList",function(){return{restrict:"EA",templateUrl:":::PLUGIN_PATH:::/ui/views/eventList.html",controller:"eventList",controllerAs:"ctrl",scope:{title:"=?",subtitle:"=?",filters:"=?",initialRealtimeState:"=?",realtime:"=?",hideHeaderActions:"=?",showPageTitles:"=?",onEventLoaded:"&",refreshLoading:"=?",hideDevice:"<?"}}});
1
+ "use strict";angular.module("c8y.ui").directive("c8yEventList",function(){return{restrict:"EA",templateUrl:":::PLUGIN_PATH:::/ui/views/eventList.html",controller:"eventList",controllerAs:"ctrl",scope:{title:"=?",subtitle:"=?",filters:"=?",initialRealtimeState:"=?",realtime:"=?",hideHeaderActions:"=?",hideWidgetActions:"=?",showPageTitles:"=?",onEventLoaded:"&",refreshLoading:"=?",hideDevice:"<?",timeRangeUnit:"=?"}}});
@@ -72,7 +72,7 @@
72
72
  </c8y-breadcrumbs-set>
73
73
 
74
74
  <!-- check if it is inside a widget -->
75
- <div class="card-navbar navbar-default" ng-if="$parent.child.templateUrl">
75
+ <div class="card-navbar navbar-default" ng-if="$parent.child.templateUrl && !hideWidgetActions">
76
76
  <div class="navbar-nav navbar-right">
77
77
  <c8y-realtime-btn subscriber-id="ctrl.subscriberId"></c8y-realtime-btn>
78
78
  <button
@@ -1 +1 @@
1
- "use strict";angular.module("c8y.cockpit.dataPointExplorer").controller("DataPointWidgetConfigCtrl",["$scope","c8yDataPointSvc",function(t,o){t.noActions=!0,t.dontSave=!0,t.onRealtimeAlarmFn=function(a){t.onAlarm=a},t.onRealtimeEventFn=function(a){t.onEvent=a};var a=function(a,t){var e=_.pick(t,"dateFrom","dateTo","aggregation","displayDateSelection","interval","realtime","displayDateSelection","widgetInstanceGlobalTimeContext","canDecoupleGlobalTimeContext"),n=o.getDefaultFilters();_.assign(a,n,e)};t.onBoxChanged=function(a){t.chartBox=a},t.data={},t.data.datapoints=_.cloneDeep(t.config.datapoints),t.data.alarmsEventsConfigs=_.cloneDeep(t.config.alarmsEventsConfigs),a(t.data,t.config),t.dateSelection=t.data.widgetInstanceGlobalTimeContext?"dashboard_context":t.data.displayDateSelection?"view_and_config":"config",t.$watch("dateSelection",function(){switch(t.dateSelection){case"dashboard_context":t.data.widgetInstanceGlobalTimeContext=!0;break;case"view_and_config":t.data.widgetInstanceGlobalTimeContext=!1,t.data.displayDateSelection=!0;break;case"config":default:t.data.widgetInstanceGlobalTimeContext=!1,t.data.displayDateSelection=!1}},!0),t.$watch("data",function(){t.data.widgetInstanceGlobalTimeContext&&(t.data.dateFrom=t.config.date?t.config.date[0]:t.data.dateFrom,t.data.dateTo=t.config.date?t.config.date[1]:t.data.dateTo,t.data.realtime=!1,t.data.displayDateSelection=!1,t.data.canDecoupleGlobalTimeContext=!1,t.data.interval=null),a(t.config,t.data),t.config.datapoints=t.data.graphDataPoints,t.config.alarmsEventsConfigs=t.data.graphAlarmsEventsConfigs},!0)}]);
1
+ "use strict";angular.module("c8y.cockpit.dataPointExplorer").controller("DataPointWidgetConfigCtrl",["$scope","c8yDataPointSvc","gettext",function(a,o,t){a.noActions=!0,a.dontSave=!0,a.onRealtimeAlarmFn=function(t){a.onAlarm=t},a.onRealtimeEventFn=function(t){a.onEvent=t},a.dateSelectionHelpPopoverText=t("Choose how to select a date range, the available options are:\n <ul class='m-l-0 p-l-8 m-t-8 m-b-0'>\n <li><b>Widget configuration:</b> restricts the date selection only to the widget configuration</li>\n <li><b>Widget and widget configuration:</b> restricts the date selection to the widget view and widget configuration only</li>\n <li><b>Dashboard time range:</b> restricts date selection to the global dashboard configuration only </li></ul>");var e=function(t,a){var e=_.pick(a,"dateFrom","dateTo","aggregation","displayDateSelection","interval","realtime","displayDateSelection","widgetInstanceGlobalTimeContext","canDecoupleGlobalTimeContext"),n=o.getDefaultFilters();_.assign(t,n,e)};a.onBoxChanged=function(t){a.chartBox=t},a.data={},a.data.datapoints=_.cloneDeep(a.config.datapoints),a.data.alarmsEventsConfigs=_.cloneDeep(a.config.alarmsEventsConfigs),e(a.data,a.config),a.dateSelection=a.data.widgetInstanceGlobalTimeContext?"dashboard_context":a.data.displayDateSelection?"view_and_config":"config",a.$watch("dateSelection",function(){switch(a.dateSelection){case"dashboard_context":a.data.widgetInstanceGlobalTimeContext=!0;break;case"view_and_config":a.data.widgetInstanceGlobalTimeContext=!1,a.data.displayDateSelection=!0;break;case"config":default:a.data.widgetInstanceGlobalTimeContext=!1,a.data.displayDateSelection=!1}},!0),a.$watch("data",function(){a.data.widgetInstanceGlobalTimeContext&&(a.data.dateFrom=a.config.date?a.config.date[0]:a.data.dateFrom,a.data.dateTo=a.config.date?a.config.date[1]:a.data.dateTo,a.data.realtime=!1,a.data.displayDateSelection=!1,a.data.canDecoupleGlobalTimeContext=!1,a.data.interval=null),e(a.config,a.data),a.config.datapoints=a.data.graphDataPoints,a.config.alarmsEventsConfigs=a.data.graphAlarmsEventsConfigs},!0)}]);
@@ -13,11 +13,7 @@
13
13
  type="button"
14
14
  class="btn-help btn-help--sm"
15
15
  aria-label="{{ 'Help' | translate }}"
16
- uib-popover-html="'Choose how to select a date range, the available options are:
17
- <ul class=\'m-l-0 p-l-8 m-t-8 m-b-0\'>
18
- <li><b>Widget configuration:</b> restricts the date selection only to the widget configuration</li>
19
- <li><b>Widget and widget configuration:</b> restricts the date selection to the widget view and widget configuration only</li>
20
- <li><b>Dashboard time range:</b> restricts date selection to the global dashboard configuration only </li></ul>' | translate"
16
+ uib-popover-html="dateSelectionHelpPopoverText | translate"
21
17
  popover-placement="right"
22
18
  popover-trigger="'focus'"
23
19
  popover-append-to-body="true"
@@ -1 +1 @@
1
- "use strict";!function(){function t(t,e){t.add({name:"Data points table",nameDisplay:e("Data points table"),description:e("A table display of a collection of data points"),templateUrl:":::PLUGIN_PATH:::/views/widget.html",configTemplateUrl:":::PLUGIN_PATH:::/views/widgetConfig.html",previewImage:":::PLUGIN_PATH:::/img/data-point-table-widget-pr.png",options:{noDeviceTarget:!0,minCol:6,datapointAttributes:["datapoints"]}})}t.$inject=["c8yComponentsProvider","gettext"],angular.module("c8y.cockpit.dataPointTable",[]).config(t)}();
1
+ "use strict";!function(){function t(t,e){t.add({name:"Data points table",nameDisplay:e("Data points table"),description:e("A table display of a collection of data points"),templateUrl:":::PLUGIN_PATH:::/views/widget.html",configTemplateUrl:":::PLUGIN_PATH:::/views/widgetConfig.html",previewImage:":::PLUGIN_PATH:::/img/data-point-table-widget-pr.png",options:{noDeviceTarget:!0,minCol:6,datapointAttributes:["datapoints"]},displaySettings:{globalTimeContext:!0}})}t.$inject=["c8yComponentsProvider","gettext"],angular.module("c8y.cockpit.dataPointTable",[]).config(t)}();
@@ -2,10 +2,16 @@
2
2
  <table class="table table-condensed table-striped table-vertical-middle table-fixed">
3
3
  <thead class="headers table-header-sticky">
4
4
  <tr>
5
- <th style="min-width: 140px !important; top: 33px; z-index: 9">
5
+ <th
6
+ style="
7
+ min-width: 140px !important;
8
+ top: var(--data-point-table-header-height);
9
+ z-index: 9;
10
+ "
11
+ >
6
12
  <div translate class="header-cell">Date and time</div>
7
13
  </th>
8
- <th ng-show="displayTarget" style="top: 33px; z-index: 9">
14
+ <th ng-show="displayTarget" style="top: var(--data-point-table-header-height); z-index: 9">
9
15
  <div translate class="header-cell">Device</div>
10
16
  </th>
11
17
  <th
@@ -14,7 +20,7 @@
14
20
  tooltip-popup-delay="500"
15
21
  tooltip-append-to-body="true"
16
22
  class="header-cell text-right"
17
- style="top: 33px; z-index: 9"
23
+ style="top: var(--data-point-table-header-height); z-index: 9"
18
24
  >
19
25
  <div class="text-truncate-wrap text-center d-inline-block">
20
26
  {{ datapoint.label }}
@@ -1,13 +1,20 @@
1
- <div ng-controller="c8yDataPointTableWidgetCtrl as ctrl">
1
+ <div
2
+ ng-controller="c8yDataPointTableWidgetCtrl as ctrl"
3
+ style="--data-point-table-header-height: {{
4
+ !child.config.widgetInstanceGlobalTimeContext
5
+ ? child.config.displayDateSelection || ctrl.realtime
6
+ ? ' 32px'
7
+ : '0'
8
+ : '0'
9
+ }}"
10
+ >
2
11
  <c8y-realtime-button
3
12
  ng-show="false"
4
13
  channel="{{ ctrl.channel }}"
5
14
  state="ctrl.realtime"
6
15
  on-data="onData($data)"
7
- >
8
- </c8y-realtime-button>
9
-
10
- <div class="d-flex sticky-top bg-level-0">
16
+ ></c8y-realtime-button>
17
+ <div class="d-flex sticky-top bg-level-0" ng-if="!child.config.widgetInstanceGlobalTimeContext">
11
18
  <div class="datepicker-container clearfix p-l-8 flex-grow">
12
19
  <div ng-if="child.config.displayDateSelection">
13
20
  <c8y-date-time-picker
@@ -18,8 +25,7 @@
18
25
  show-weeks="false"
19
26
  show-spinners="false"
20
27
  append-to-body="true"
21
- >
22
- </c8y-date-time-picker>
28
+ ></c8y-date-time-picker>
23
29
  <c8y-date-time-picker
24
30
  ng-model-options="{ debounce: 500 }"
25
31
  ng-model="child.config.dateTo"
@@ -28,11 +34,11 @@
28
34
  show-weeks="false"
29
35
  show-spinners="false"
30
36
  append-to-body="true"
31
- >
32
- </c8y-date-time-picker>
37
+ ></c8y-date-time-picker>
33
38
  </div>
34
39
  </div>
35
40
  <label
41
+ ng-if="ctrl.realtime"
36
42
  class="c8y-switch m-r-8 flex-no-shrink"
37
43
  title="{{ 'Automatically scrolls to the latest value' | translate }}"
38
44
  >
@@ -52,6 +58,5 @@
52
58
  rows-selectable="child.config.selectable"
53
59
  selected="child.config.selected"
54
60
  scroll-locked="ctrl.scrollLocked"
55
- >
56
- </c8y-data-point-table>
61
+ ></c8y-data-point-table>
57
62
  </div>
@@ -1,64 +1,111 @@
1
- <div ng-controller="DataPointWidgetConfigCtrl" ng-init="disableLocalStorage = true" class="no-card-context">
2
- <div class="row" style="height: calc(100vh - 406px);" ng-controller="c8yDataPointExplorerCtrl">
3
- <div class="col-md-5 bg-level-1 separator-top inner-scroll">
4
- <div class="p-l-24 bg-inherit">
5
- <div class="form-group m-b-0 p-b-8 p-t-8 separator-bottom">
6
- <label
7
- class="c8y-switch"
8
- title="{{ 'Show date selection' | translate }}"
9
- >
10
- <input type="checkbox" ng-model="data.displayDateSelection" />
11
- <span></span>
12
- <span>{{ 'Display date selection on the widget' | translate }}</span>
13
- </label>
14
- </div>
15
- <c8y-data-point-list
16
- datapoints="data.datapoints"
17
- allow-adding-data-points-from-context-mo-only="dashboard.deviceType && dashboard.deviceTypeValue"
18
- dont-save="true"
19
- class="bg-level-1"
20
- ></c8y-data-point-list>
21
- </div>
22
- </div>
23
- <div class="col-md-7 sticky-top">
24
- <div class="p-r-24 p-t-8">
25
- <div class="m-b-4 d-flex j-c-end gap-8">
26
- <c8y-realtime-button
27
- class="top-right-control"
28
- channel="{{ channel }}"
29
- state="data.realtime"
30
- on-data="onData($data)"
31
- ></c8y-realtime-button>
32
- <c8y-aggregation
33
- class="top-right-control"
34
- date-from="data.dateFrom"
35
- date-to="data.dateTo"
36
- aggregation="data.aggregation"
37
- realtime="data.realtime"
38
- auto="true"
39
- ></c8y-aggregation>
40
- <c8y-interval
41
- class="top-right-control"
42
- date-from="data.dateFrom"
43
- date-to="data.dateTo"
44
- interval="data.interval"
45
- ></c8y-interval>
46
- </div>
47
- <div class="c8yGraphFill" style="height: calc(100vh - 458px);">
48
- <c8y-chart
49
- datapoints="data.graphDataPoints"
50
- date-from="data.dateFrom"
51
- date-to="data.dateTo"
52
- realtime="data.realtime"
53
- aggregation="data.aggregation"
54
- show-time="true"
55
- on-data="(onData)"
56
- on-update-dates="onUpdateDates($dateFrom, $dateTo)"
57
- on-update-displayed-dates="onUpdateDisplayedDates($dateFrom, $dateTo)"
58
- on-box-changed="onBoxChanged(box)"
59
- ></c8y-chart>
60
- </div>
61
- </div>
62
- </div>
63
- </div>
64
- </div>
1
+ <div
2
+ ng-controller="DataPointWidgetConfigCtrl"
3
+ ng-init="disableLocalStorage = true"
4
+ class="row no-card-context d-flex"
5
+ style="height: calc(100vh - 406px);"
6
+ >
7
+ <div class="col-md-5 bg-level-1 a-s-stretch inner-scroll">
8
+ <div class="p-l-24 bg-inherit p-t-8">
9
+ <div class="form-group m-b-0 p-b-16 separator-bottom">
10
+ <label for="dateSelection">
11
+ {{ 'Date selection' | translate }}
12
+ <button
13
+ type="button"
14
+ class="btn-help btn-help--sm"
15
+ aria-label="{{ 'Help' | translate }}"
16
+ uib-popover-html="dateSelectionHelpPopoverText | translate"
17
+ popover-placement="right"
18
+ popover-trigger="'focus'"
19
+ popover-append-to-body="true"
20
+ ></button>
21
+ </label>
22
+ <div class="c8y-select-wrapper">
23
+ <select
24
+ id="dateSelection"
25
+ class="form-control"
26
+ title="{{ 'Date selection' | translate }}"
27
+ aria-label="{{ 'Date selection' | translate }}"
28
+ ng-model="dateSelection"
29
+ >
30
+ <option
31
+ title="{{ 'Widget configuration' | translate }}"
32
+ value="{{ 'config' }}"
33
+ >
34
+ {{ 'Widget configuration' | translate }}
35
+ </option>
36
+ <option
37
+ title="{{ 'Widget and widget configuration' | translate }}"
38
+ value="{{ 'view_and_config' }}"
39
+ >
40
+ {{ 'Widget and widget configuration' | translate }}
41
+ </option>
42
+ <option
43
+ title="{{ 'Dashboard time range' | translate }}"
44
+ value="{{ 'dashboard_context' }}"
45
+ >
46
+ {{ 'Dashboard time range' | translate }}
47
+ </option>
48
+ </select>
49
+ </div>
50
+ </div>
51
+
52
+ <c8y-data-point-list
53
+ datapoints="data.datapoints"
54
+ allow-adding-data-points-from-context-mo-only="dashboard.deviceType && dashboard.deviceTypeValue"
55
+ dont-save="true"
56
+ class="bg-inherit separator-bottom"
57
+ ></c8y-data-point-list>
58
+ </div>
59
+ </div>
60
+
61
+ <div class="col-md-7 sticky-top">
62
+ <div class="p-r-24 p-t-8">
63
+ <div
64
+ class="data-point-explorer d-flex d-col"
65
+ ng-controller="c8yDataPointExplorerCtrl"
66
+ >
67
+ <div class="m-b-4 m-t-4 d-flex j-c-end gap-8">
68
+ <c8y-realtime-button
69
+ ng-show="!data.widgetInstanceGlobalTimeContext"
70
+ class="top-right-control"
71
+ channel="{{ channel }}"
72
+ state="data.realtime"
73
+ on-data="onData($data)"
74
+ ></c8y-realtime-button>
75
+ <c8y-aggregation
76
+ class="top-right-control"
77
+ date-from="data.dateFrom"
78
+ date-to="data.dateTo"
79
+ aggregation="data.aggregation"
80
+ realtime="data.realtime"
81
+ auto="true"
82
+ ></c8y-aggregation>
83
+ <c8y-interval
84
+ ng-show="!data.widgetInstanceGlobalTimeContext"
85
+ class="top-right-control"
86
+ date-from="data.dateFrom"
87
+ date-to="data.dateTo"
88
+ interval="data.interval"
89
+ ></c8y-interval>
90
+ </div>
91
+ <div
92
+ class="c8yGraphFill"
93
+ style="height: calc(100vh - 520px);"
94
+ >
95
+ <c8y-chart
96
+ datapoints="data.graphDataPoints"
97
+ date-from="data.dateFrom"
98
+ date-to="data.dateTo"
99
+ realtime="data.realtime"
100
+ aggregation="data.aggregation"
101
+ show-time="!data.widgetInstanceGlobalTimeContext"
102
+ on-data="(onData)"
103
+ on-update-dates="onUpdateDates($dateFrom, $dateTo)"
104
+ on-update-displayed-dates="onUpdateDisplayedDates($dateFrom, $dateTo)"
105
+ on-box-changed="onBoxChanged(box)"
106
+ ></c8y-chart>
107
+ </div>
108
+ </div>
109
+ </div>
110
+ </div>
111
+ </div>
@@ -1 +1 @@
1
- "use strict";!function(){function t(i,c){var a=this;i.$watch("child.config.datapoints",function(t){var n=_(t).map("__target.id").compact().uniq().value();n.length?a.channel="/measurements/".concat(n.join(",")):a.channel=""}),i.$watch("child.config.realtime",function(t){a.realtime=!!t}),function(){var t=i.child.config.interval;if(t&&t!==c.custom.id){var n=_.find(c.intervals,function(t){return t.id===i.child.config.interval})||{};n.qty&&(i.child.config.dateFrom=moment().subtract(n.qty,n.unit).toDate(),i.child.config.dateTo=moment().toDate())}}()}t.$inject=["$scope","INTERVAL_CONSTANTS"],angular.module("c8y.cockpit.dataPointTable").controller("c8yDataPointTableWidgetCtrl",t)}();
1
+ "use strict";!function(){function t(n,c){var a=this;n.$watch("child.config.datapoints",function(t){var i=_(t).map("__target.id").compact().uniq().value();i.length?a.channel="/measurements/".concat(i.join(",")):a.channel=""}),n.$watch("child.config.realtime",function(t){a.realtime=!!t}),n.$watch("child.config.date",function(){n.child.config.widgetInstanceGlobalTimeContext&&(n.child.config.dateFrom=new Date(n.child.config.date[0]),n.child.config.dateTo=new Date(n.child.config.date[1]))}),function(){var t=n.child.config.interval;if(t&&t!==c.custom.id){var i=_.find(c.intervals,function(t){return t.id===n.child.config.interval})||{};i.qty&&(n.child.config.dateFrom=moment().subtract(i.qty,i.unit).toDate(),n.child.config.dateTo=moment().toDate())}}()}t.$inject=["$scope","INTERVAL_CONSTANTS"],angular.module("c8y.cockpit.dataPointTable").controller("c8yDataPointTableWidgetCtrl",t)}();
@@ -1 +1 @@
1
- "use strict";angular.module("c8y.eventList").controller("EventListCtrl",["$scope",function(c){var o=this;function n(i){o.options=_.cloneDeep(i)||{},o.options.source=c.child.config.device&&c.child.config.device.id}c.$watch("child.config.options",function(i,c){i&&!_.isEqual(i,c)&&n(i)}),c.$watch("child.config.device",function(i){i&&n(c.child.config.options)},!0),n(c.child.config.options)}]);
1
+ "use strict";function _typeof(t){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function _objectSpread(e){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?Object(arguments[t]):{},i=Object.keys(o);"function"==typeof Object.getOwnPropertySymbols&&i.push.apply(i,Object.getOwnPropertySymbols(o).filter(function(t){return Object.getOwnPropertyDescriptor(o,t).enumerable})),i.forEach(function(t){_defineProperty(e,t,o[t])})}return e}function _defineProperty(t,e,o){return(e=_toPropertyKey(e))in t?Object.defineProperty(t,e,{value:o,enumerable:!0,configurable:!0,writable:!0}):t[e]=o,t}function _toPropertyKey(t){var e=_toPrimitive(t,"string");return"symbol"===_typeof(e)?e:String(e)}function _toPrimitive(t,e){if("object"!==_typeof(t)||null===t)return t;var o=t[Symbol.toPrimitive];if(void 0===o)return("string"===e?String:Number)(t);var i=o.call(t,e||"default");if("object"!==_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}angular.module("c8y.eventList").controller("EventListCtrl",["$scope",function(e){var o=this;function i(t){o.options=_.cloneDeep(t)||{},o.options.source=e.child.config.device&&e.child.config.device.id,e.child.config.widgetInstanceGlobalTimeContext&&(e.child.config.canDecoupleGlobalTimeContext=!1,o.timeRangeUnit="minute")}e.$watch("child.config.options",function(t,e){t&&!_.isEqual(t,e)&&i(t)}),e.$watch("child.config.device",function(t){t&&i(e.child.config.options)},!0),e.$watch("child.config.date",function(){if(e.child.config.widgetInstanceGlobalTimeContext){var t=_objectSpread({},e.child.config.options,{dateFrom:e.child.config.date[0].toISOString(),dateTo:e.child.config.date[1].toISOString()});i(t)}}),i(e.child.config.options)}]);
@@ -1 +1 @@
1
- "use strict";!function(){function e(e,t){e.add({name:"Event list",nameDisplay:t("Event list"),description:t("Displays the list of events for selected device."),templateUrl:":::PLUGIN_PATH:::/views/eventList.html",configTemplateUrl:":::PLUGIN_PATH:::/views/eventListConfig.html",previewImage:":::PLUGIN_PATH:::/img/events-list-widget-pr.png",options:{groupsSelectable:!0}})}e.$inject=["c8yComponentsProvider","gettext"],angular.module("c8y.eventList",[]).config(e)}();
1
+ "use strict";!function(){function e(e,t){e.add({name:"Event list",nameDisplay:t("Event list"),description:t("Displays the list of events for selected device."),templateUrl:":::PLUGIN_PATH:::/views/eventList.html",configTemplateUrl:":::PLUGIN_PATH:::/views/eventListConfig.html",previewImage:":::PLUGIN_PATH:::/img/events-list-widget-pr.png",options:{groupsSelectable:!0},displaySettings:{globalTimeContext:!0}})}e.$inject=["c8yComponentsProvider","gettext"],angular.module("c8y.eventList",[]).config(e)}();
@@ -1,3 +1,9 @@
1
1
  <div ng-controller="EventListCtrl as eventList">
2
- <c8y-event-list filters="eventList.options" initial-realtime-state="true" />
2
+ <c8y-event-list
3
+ filters="eventList.options"
4
+ initial-realtime-state="!child.config.widgetInstanceGlobalTimeContext"
5
+ realtime="!child.config.widgetInstanceGlobalTimeContext"
6
+ hide-widget-actions="child.config.widgetInstanceGlobalTimeContext"
7
+ time-range-unit="eventList.timeRangeUnit">
8
+ </c8y-event-list>
3
9
  </div>
@@ -1,4 +1,42 @@
1
1
  <div class="form-group p-t-8">
2
+
3
+ <div class="form-group m-b-0 p-b-16">
4
+ <label for="dateSelection">
5
+ {{ 'Date selection' | translate }}
6
+ <button
7
+ type="button"
8
+ class="btn-help btn-help--sm"
9
+ aria-label="{{ 'Help' | translate }}"
10
+ uib-popover-html="'Choose how to select a date range, the available options are:<ul class=\'m-l-0 p-l-8 m-t-8 m-b-0\'><li><b>Widget configuration:</b> restricts the date selection only to the widget configuration</li><li><b>Dashboard time range:</b> restricts date selection to the global dashboard configuration only </li></ul>' | translate"
11
+ popover-placement="right"
12
+ popover-trigger="'focus'"
13
+ popover-append-to-body="true"
14
+ ></button>
15
+ </label>
16
+ <div class="c8y-select-wrapper">
17
+ <select
18
+ id="dateSelection"
19
+ class="form-control"
20
+ title="{{ 'Date selection' | translate }}"
21
+ aria-label="{{ 'Date selection' | translate }}"
22
+ ng-model="config.widgetInstanceGlobalTimeContext"
23
+ >
24
+ <option
25
+ title="{{ 'Widget configuration' | translate }}"
26
+ value="{{ undefined }}"
27
+ >
28
+ {{ 'Widget configuration' | translate }}
29
+ </option>
30
+ <option
31
+ title="{{ 'Dashboard time range' | translate }}"
32
+ value="{{ true }}"
33
+ >
34
+ {{ 'Dashboard time range' | translate }}
35
+ </option>
36
+ </select>
37
+ </div>
38
+ </div>
39
+
2
40
  <label>Type</label>
3
41
  <input type="text" class="form-control" ng-model="config.options.type">
4
42
  </div>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@c8y/ng1-modules",
3
- "version": "1017.66.0",
3
+ "version": "1017.68.0",
4
4
  "license": "Apache-2.0",
5
5
  "author": "Cumulocity",
6
6
  "description": "AngularJS modules for Cumulocity IoT applications.",
@@ -44,7 +44,6 @@
44
44
  "nvd3": "https://github.com/piotrjaw/nvd3/archive/v1.1.19.tar.gz",
45
45
  "objectpath": "1.1.0",
46
46
  "payment": "2.2.1",
47
- "three": "0.141.0",
48
47
  "tv4": "1.3.0",
49
48
  "ui-select": "0.19.8",
50
49
  "xterm": "3.14.5",
@@ -1 +0,0 @@
1
- "use strict";var options=window.C8Y_APP;options.sensorPhone&&(options.modules.push("c8y.rotation3d"),require("@c8y/ng1-modules/rotation3dWidget/cumulocity"));
@@ -1 +0,0 @@
1
- "use strict";!function(){function e(e,t){var n=this;function a(e){var t=_.get(e,"c8y_Acceleration");t&&(n.rotate=function(e){var t,n,a=_.round(e.accelerationX.value),c=_.round(e.accelerationY.value),o=_.round(e.accelerationZ.value);return t=Math.atan2(c,o),n=Math.atan2(a,Math.sqrt(c*c+o*o)),t=t?t%(2*Math.PI):0,n=n?n%(2*Math.PI):0,{x:t,y:0,z:n}}(t))}_.assign(n,{$onInit:function(){!function(){var e={fragment:"c8y_Acceleration",series:"accelerationZ"};n.config.device&&(e.device=n.config.device.id,t.latest(e,!0).then(function(e){n.latestMeasurement=e}))}(),e.$watch("vm.latestMeasurement",a,!0)}})}e.$inject=["$scope","c8yMeasurements"],angular.module("c8y.rotation3d").component("rotation3d",{templateUrl:":::PLUGIN_PATH:::/views/viewer3d.html",bindings:{config:"<"},controller:e,controllerAs:"vm"})}();
@@ -1 +0,0 @@
1
- "use strict";angular.module("c8y.rotation3d").component("rotation3dConfig",{templateUrl:":::PLUGIN_PATH:::/views/rotation3dConfig.html",bindings:{config:"="},controller:function(){var o=this;_.assign(o,{$onInit:function(){_.defaults(o.config,{objectModel:"box.min.json",isWireframe:!0,cameraType:"PC"})}})},controllerAs:"vm"});
@@ -1 +0,0 @@
1
- "use strict";function _slicedToArray(e,r){return _arrayWithHoles(e)||_iterableToArrayLimit(e,r)||_unsupportedIterableToArray(e,r)||_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 _unsupportedIterableToArray(e,r){if(e){if("string"==typeof e)return _arrayLikeToArray(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?_arrayLikeToArray(e,r):void 0}}function _arrayLikeToArray(e,r){(null==r||r>e.length)&&(r=e.length);for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}function _iterableToArrayLimit(e,r){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var n,a,i,o,c=[],l=!0,u=!1;try{if(i=(t=t.call(e)).next,0===r){if(Object(t)!==t)return;l=!1}else for(;!(l=(n=i.call(t)).done)&&(c.push(n.value),c.length!==r);l=!0);}catch(e){u=!0,a=e}finally{try{if(!l&&null!=t.return&&(o=t.return(),Object(o)!==o))return}finally{if(u)throw a}}return c}}function _arrayWithHoles(e){if(Array.isArray(e))return e}!function(){function e(e,r,a,t){var i,o,c=this,l=r.THREE;_.assign(c,{$onChanges:function(e){var r=e.rotate&&e.rotate.currentValue;r&&function(e){var t=s;_.isUndefined(t&&e)||_.forIn(e,function(e,r){!function(e,r,t){e.rotation[r]=t}(t,r,e)})}(r);(e.objectModel||e.isWireframe||e.cameraType)&&(i&&_.forEach(i.children,function(e){i.remove(e)}),function(){i=new l.Scene,o=window.WebGLRenderingContext?new l.WebGLRenderer({canvas:d,alpha:!0}):new l.CanvasRenderer;var e=new l.AmbientLight(16777215,.5),r=new l.DirectionalLight(16777215),t=new l.DirectionalLight(16777215);switch(c.cameraType){case"OC":u=new l.OrthographicCamera(-15,15,15,-15,1,1e3);break;case"PC":default:u=new l.PerspectiveCamera(30,d.clientWidth/d.clientHeight,.1,1e3)}r.position.set(20,25,30),t.position.set(-20,-25,-30),i.add(r),i.add(t),i.add(e),u.rotateX(Math.PI/2),u.rotateY(Math.PI/2),u.position.z=23,u.position.x=14,u.position.y=7,i.add(u),a.load(c.objectModel).then(function(e){_.forEach(e.children,function(e){e.material&&!_.isUndefined(e.material.wireframe)&&(e.material.wireframe=c.isWireframe)}),s=e,i.add(s)});var n=new l.OrbitControls(u,o.domElement);n.enableDamping=!0,n.dampingFactor=.25,n.rotateSpeed=.35,o.setClearColor(16777215,0)}(),n.runOutsideAngular(function(){f()}))}});var u,s,n,d=_slicedToArray(e.find("canvas"),1)[0];function f(){!function(){var e=d.clientWidth,r=d.clientHeight;d.width===e&&d.height===r||o.setSize(e,r,!1)}(),o.render(i,u),requestAnimationFrame(f)}n=t.has("ngZone")?t.get("ngZone"):{runOutsideAngular:function(e){return e()}}}e.$inject=["$element","$window","c8yWebSceneLoader","$injector"],angular.module("c8y.rotation3d").component("c8yWebScene",{template:'<canvas style="width:100%;"></canvas>',bindings:{rotate:"<",objectModel:"<",isWireframe:"<",cameraType:"<"},controller:e,controllerAs:"vm"})}();
@@ -1,26 +0,0 @@
1
- {
2
- "name": "rotation3d",
3
- "ngModules": ["c8y.rotation3d"],
4
- "category": "Widgets",
5
- "description": "widget for 3d position preview",
6
- "js": [
7
- "index.js",
8
- "components/viewer3d.component.js",
9
- "components/webscene.component.js",
10
- "components/viewer3dConfig.component.js",
11
- "webscene-loader.service.js",
12
- "node_modules/three/build/three.min.js",
13
- "node_modules/three/examples/js/controls/OrbitControls.js"
14
- ],
15
- "webpackOverride": {
16
- "js": [
17
- "index.js",
18
- "webpack-specific.js",
19
- "components/viewer3d.component.js",
20
- "components/webscene.component.js",
21
- "components/viewer3dConfig.component.js",
22
- "webscene-loader.service.js"
23
- ],
24
- "copy": ["img/*"]
25
- }
26
- }
@@ -1 +0,0 @@
1
- "use strict";!function(){function t(t,e){t.add({name:"rotation3d",nameDisplay:e("Rotation widget"),description:e("Displays current device orientation"),templateUrl:":::PLUGIN_PATH:::/views/rotation.html",configTemplateUrl:":::PLUGIN_PATH:::/views/rotationConfig.html",previewImage:":::PLUGIN_PATH:::/img/rotation-widget-pr.png",options:{groupSelectable:!1}})}t.$inject=["c8yComponentsProvider","gettext"],angular.module("c8y.rotation3d",[]).config(t)}();