@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.
- package/NOTICES +1 -1
- package/cockpit-cockpitConfig/cumulocity.json +1 -2
- package/core/core/services/measurements.js +1 -1
- package/core/ui/controllers/eventList.js +1 -1
- package/core/ui/directives/eventList.js +1 -1
- package/core/ui/views/eventList.html +1 -1
- package/dataPointExplorer/controllers/dataPointWidgetConfig.js +1 -1
- package/dataPointExplorer/views/widgetConfig.html +1 -5
- package/dataPointTable/index.js +1 -1
- package/dataPointTable/views/dataPointTable.html +9 -3
- package/dataPointTable/views/widget.html +16 -11
- package/dataPointTable/views/widgetConfig.html +111 -64
- package/dataPointTable/widget.controller.js +1 -1
- package/eventList/eventList.controller.js +1 -1
- package/eventList/index.js +1 -1
- package/eventList/views/eventList.html +7 -1
- package/eventList/views/eventListConfig.html +38 -0
- package/package.json +1 -2
- package/cockpit-cockpitConfig/webpack-specific.js +0 -1
- package/rotation3dWidget/components/viewer3d.component.js +0 -1
- package/rotation3dWidget/components/viewer3dConfig.component.js +0 -1
- package/rotation3dWidget/components/webscene.component.js +0 -1
- package/rotation3dWidget/cumulocity.json +0 -26
- package/rotation3dWidget/img/rotation-widget-pr.png +0 -0
- package/rotation3dWidget/index.js +0 -1
- package/rotation3dWidget/meshes/box.json +0 -82
- package/rotation3dWidget/meshes/phoneModel.json +0 -79
- package/rotation3dWidget/views/rotation.html +0 -4
- package/rotation3dWidget/views/rotation3dConfig.html +0 -25
- package/rotation3dWidget/views/rotationConfig.html +0 -2
- package/rotation3dWidget/views/viewer3d.html +0 -7
- package/rotation3dWidget/webpack-specific.js +0 -1
- 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
|
|
|
@@ -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,
|
|
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||{};
|
|
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(
|
|
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="
|
|
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"
|
package/dataPointTable/index.js
CHANGED
|
@@ -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
|
|
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:
|
|
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:
|
|
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
|
|
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
|
-
|
|
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
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
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(
|
|
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(
|
|
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)}]);
|
package/eventList/index.js
CHANGED
|
@@ -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
|
|
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.
|
|
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
|
-
}
|
|
Binary file
|
|
@@ -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)}();
|