Browse Source

UI: MS Edge/IE compatibility.

pull/264/merge
Igor Kulikov 9 years ago
parent
commit
28853c7df5
  1. 3
      ui/package.json
  2. 3
      ui/src/app/app.js
  3. 2
      ui/src/app/components/widget/widget.controller.js
  4. 28
      ui/src/app/ie.support.js
  5. 6
      ui/src/app/widget/lib/CanvasDigitalGauge.js
  6. 2
      ui/src/app/widget/lib/alarms-table-widget.js
  7. 2
      ui/src/app/widget/lib/entities-table-widget.js
  8. 5
      ui/src/app/widget/lib/image-map.js
  9. 2
      ui/src/app/widget/lib/image-map.scss
  10. 2
      ui/webpack.config.dev.js
  11. 2
      ui/webpack.config.prod.js

3
ui/package.json

@ -1,7 +1,7 @@
{
"name": "thingsboard",
"private": true,
"version": "1.3.0",
"version": "1.3.1",
"description": "Thingsboard UI",
"licenses": [
{
@ -50,6 +50,7 @@
"canvas-gauges": "^2.0.9",
"clipboard": "^1.5.15",
"compass-sass-mixins": "^0.12.7",
"event-source-polyfill": "0.0.9",
"flot": "git://github.com/flot/flot.git#0.9-work",
"flot-curvedlines": "git://github.com/MichaelZinsmaier/CurvedLines.git#master",
"font-awesome": "^4.6.3",

3
ui/src/app/app.js

@ -15,6 +15,9 @@
*/
import './ie.support';
import 'event-source-polyfill';
import angular from 'angular';
import ngMaterial from 'angular-material';
import ngMdIcons from 'angular-material-icons';

2
ui/src/app/components/widget/widget.controller.js

@ -839,7 +839,7 @@ export default function WidgetController($scope, $state, $timeout, $window, $ele
subscription.destroy();
}
subscriptionInited = false;
widgetContext.subscriptions = [];
widgetContext.subscriptions = {};
if (widgetContext.inited) {
widgetContext.inited = false;
for (var cafId in cafs) {

28
ui/src/app/ie.support.js

@ -26,4 +26,32 @@
return this.indexOf(suffix, this.length - suffix.length) !== -1;
};
}
if (!String.prototype.repeat) {
String.prototype.repeat = function(count) {
if (this == null) {
throw TypeError();
}
var string = String(this);
// `ToInteger`
var n = count ? Number(count) : 0;
if (n != n) { // better `isNaN`
n = 0;
}
// Account for out-of-bounds indices
if (n < 0 || n == Infinity) {
throw RangeError();
}
var result = '';
while (n) {
if (n % 2 == 1) {
result += string;
}
if (n > 1) {
string += string;
}
n >>= 1;
}
return result;
};
}
})();

6
ui/src/app/widget/lib/CanvasDigitalGauge.js

@ -157,7 +157,13 @@ export default class CanvasDigitalGauge extends canvasGauges.BaseGauge {
draw() {
try {
let canvas = this.canvas;
if (!canvas.drawWidth || !canvas.drawHeight) {
return this;
}
let [x, y, w, h] = [
-canvas.drawX,
-canvas.drawY,

2
ui/src/app/widget/lib/alarms-table-widget.js

@ -181,7 +181,7 @@ function AlarmsTableWidgetController($element, $scope, $filter, $mdMedia, $mdDia
vm.displayPagination = angular.isDefined(vm.settings.displayPagination) ? vm.settings.displayPagination : true;
var pageSize = vm.settings.defaultPageSize;
if (angular.isDefined(pageSize) && Number.isInteger(pageSize) && pageSize > 0) {
if (angular.isDefined(pageSize) && angular.isNumber(pageSize) && pageSize > 0) {
vm.defaultPageSize = pageSize;
}

2
ui/src/app/widget/lib/entities-table-widget.js

@ -167,7 +167,7 @@ function EntitiesTableWidgetController($element, $scope, $filter, $mdMedia, $tra
vm.displayPagination = angular.isDefined(vm.settings.displayPagination) ? vm.settings.displayPagination : true;
var pageSize = vm.settings.defaultPageSize;
if (angular.isDefined(pageSize) && Number.isInteger(pageSize) && pageSize > 0) {
if (angular.isDefined(pageSize) && angular.isNumber(pageSize) && pageSize > 0) {
vm.defaultPageSize = pageSize;
}

5
ui/src/app/widget/lib/image-map.js

@ -58,14 +58,17 @@ export default class TbImageMap {
}
var imageMap = this;
var testImage = new Image(); // eslint-disable-line no-undef
var testImage = document.createElement('img'); // eslint-disable-line
testImage.style.visibility = 'hidden';
testImage.onload = function() {
imageMap.aspect = testImage.width / testImage.height;
document.body.removeChild(testImage); //eslint-disable-line
imageMap.onresize();
if (initCallback) {
setTimeout(initCallback, 0); //eslint-disable-line
}
}
document.body.appendChild(testImage); //eslint-disable-line
testImage.src = imageUrl;
}

2
ui/src/app/widget/lib/image-map.scss

@ -52,7 +52,7 @@
position: relative;
margin: auto;
background: transparent no-repeat scroll 0 0;
background-size: cover;
background-size: 100% 100%;
&.is-pointer {
cursor: pointer !important;

2
ui/webpack.config.dev.js

@ -51,7 +51,7 @@ module.exports = {
new HtmlWebpackPlugin({
template: './src/index.html',
filename: 'index.html',
title: 'Thingsboard',
title: 'ThingsBoard',
inject: 'body',
}),
new webpack.optimize.OccurrenceOrderPlugin(),

2
ui/webpack.config.prod.js

@ -47,7 +47,7 @@ module.exports = {
new HtmlWebpackPlugin({
template: './src/index.html',
filename: '../index.html',
title: 'Thingsboard',
title: 'ThingsBoard',
inject: 'body',
}),
new webpack.optimize.OccurrenceOrderPlugin(),

Loading…
Cancel
Save