iguazio.dashboard-controls 1.1.1 → 1.2.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/dist/i18n/en/common.json +5 -1
- package/dist/i18n/en/functions.json +1 -0
- package/dist/js/iguazio.dashboard-controls.js +1375 -1346
- package/dist/less/iguazio.dashboard-controls.less +552 -532
- package/package.json +1 -1
- package/src/i18n/en/common.json +5 -1
- package/src/i18n/en/functions.json +1 -0
- package/src/igz_controls/components/date-time-picker/date-time-picker.component.js +6 -0
- package/src/igz_controls/components/info-page/info-page-filters/info-page-filters.component.js +1 -0
- package/src/igz_controls/components/info-page/info-page-filters/info-page-filters.tpl.html +1 -1
- package/src/igz_controls/components/multiple-checkboxes/multiple-checkboxes.component.js +2 -0
- package/src/igz_controls/components/multiple-checkboxes/multiple-checkboxes.less +4 -0
- package/src/igz_controls/components/multiple-checkboxes/multiple-checkboxes.tpl.html +5 -2
- package/src/nuclio/functions/version/version-execution-log/version-execution-log.component.js +14 -11
- package/src/nuclio/functions/version/version-execution-log/version-execution-log.less +12 -0
- package/src/nuclio/functions/version/version-execution-log/version-execution-log.tpl.html +3 -2
- package/src/nuclio/functions/version/version-triggers/version-triggers.component.js +11 -3
- package/src/nuclio/functions/version/version-triggers/version-triggers.less +4 -0
- package/src/nuclio/functions/version/version-triggers/version-triggers.tpl.html +16 -0
|
@@ -5181,72 +5181,6 @@ such restriction.
|
|
|
5181
5181
|
})();
|
|
5182
5182
|
"use strict";
|
|
5183
5183
|
|
|
5184
|
-
/*
|
|
5185
|
-
Copyright 2018 Iguazio Systems Ltd.
|
|
5186
|
-
Licensed under the Apache License, Version 2.0 (the "License") with
|
|
5187
|
-
an addition restriction as set forth herein. You may not use this
|
|
5188
|
-
file except in compliance with the License. You may obtain a copy of
|
|
5189
|
-
the License at http://www.apache.org/licenses/LICENSE-2.0.
|
|
5190
|
-
Unless required by applicable law or agreed to in writing, software
|
|
5191
|
-
distributed under the License is distributed on an "AS IS" BASIS,
|
|
5192
|
-
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
|
5193
|
-
implied. See the License for the specific language governing
|
|
5194
|
-
permissions and limitations under the License.
|
|
5195
|
-
In addition, you may not use the software for any purposes that are
|
|
5196
|
-
illegal under applicable law, and the grant of the foregoing license
|
|
5197
|
-
under the Apache 2.0 license is conditioned upon your compliance with
|
|
5198
|
-
such restriction.
|
|
5199
|
-
*/
|
|
5200
|
-
(function () {
|
|
5201
|
-
'use strict';
|
|
5202
|
-
|
|
5203
|
-
IgzActionsPanesController.$inject = ["lodash", "ConfigService"];
|
|
5204
|
-
angular.module('iguazio.dashboard-controls').component('igzActionsPanes', {
|
|
5205
|
-
bindings: {
|
|
5206
|
-
infoPaneDisable: '<?',
|
|
5207
|
-
isInfoPaneOpened: '<?',
|
|
5208
|
-
filtersToggleMethod: '&?',
|
|
5209
|
-
filtersCounter: '<?',
|
|
5210
|
-
isFiltersOpened: '<?',
|
|
5211
|
-
showFilterIcon: '@?',
|
|
5212
|
-
infoPaneToggleMethod: '&?',
|
|
5213
|
-
closeInfoPane: '&?'
|
|
5214
|
-
},
|
|
5215
|
-
templateUrl: 'igz_controls/components/actions-panes/actions-panes.tpl.html',
|
|
5216
|
-
controller: IgzActionsPanesController
|
|
5217
|
-
});
|
|
5218
|
-
function IgzActionsPanesController(lodash, ConfigService) {
|
|
5219
|
-
var ctrl = this;
|
|
5220
|
-
ctrl.callToggleMethod = null;
|
|
5221
|
-
ctrl.$onInit = onInit;
|
|
5222
|
-
ctrl.isShowFilterActionIcon = isShowFilterActionIcon;
|
|
5223
|
-
|
|
5224
|
-
//
|
|
5225
|
-
// Hook methods
|
|
5226
|
-
//
|
|
5227
|
-
|
|
5228
|
-
/**
|
|
5229
|
-
* Initialization method
|
|
5230
|
-
*/
|
|
5231
|
-
function onInit() {
|
|
5232
|
-
ctrl.callToggleMethod = angular.isFunction(ctrl.closeInfoPane) ? ctrl.closeInfoPane : ctrl.infoPaneToggleMethod;
|
|
5233
|
-
}
|
|
5234
|
-
|
|
5235
|
-
//
|
|
5236
|
-
// Public method
|
|
5237
|
-
//
|
|
5238
|
-
|
|
5239
|
-
/**
|
|
5240
|
-
* Checks if filter toggles method exists and if filter pane should toggle only in demo mode
|
|
5241
|
-
* @returns {boolean}
|
|
5242
|
-
*/
|
|
5243
|
-
function isShowFilterActionIcon() {
|
|
5244
|
-
return angular.isFunction(ctrl.filtersToggleMethod) && (lodash.isEqual(ctrl.showFilterIcon, 'true') || ConfigService.isDemoMode());
|
|
5245
|
-
}
|
|
5246
|
-
}
|
|
5247
|
-
})();
|
|
5248
|
-
"use strict";
|
|
5249
|
-
|
|
5250
5184
|
/*
|
|
5251
5185
|
Copyright 2018 Iguazio Systems Ltd.
|
|
5252
5186
|
Licensed under the Apache License, Version 2.0 (the "License") with
|
|
@@ -5381,6 +5315,72 @@ such restriction.
|
|
|
5381
5315
|
})();
|
|
5382
5316
|
"use strict";
|
|
5383
5317
|
|
|
5318
|
+
/*
|
|
5319
|
+
Copyright 2018 Iguazio Systems Ltd.
|
|
5320
|
+
Licensed under the Apache License, Version 2.0 (the "License") with
|
|
5321
|
+
an addition restriction as set forth herein. You may not use this
|
|
5322
|
+
file except in compliance with the License. You may obtain a copy of
|
|
5323
|
+
the License at http://www.apache.org/licenses/LICENSE-2.0.
|
|
5324
|
+
Unless required by applicable law or agreed to in writing, software
|
|
5325
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
5326
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
|
5327
|
+
implied. See the License for the specific language governing
|
|
5328
|
+
permissions and limitations under the License.
|
|
5329
|
+
In addition, you may not use the software for any purposes that are
|
|
5330
|
+
illegal under applicable law, and the grant of the foregoing license
|
|
5331
|
+
under the Apache 2.0 license is conditioned upon your compliance with
|
|
5332
|
+
such restriction.
|
|
5333
|
+
*/
|
|
5334
|
+
(function () {
|
|
5335
|
+
'use strict';
|
|
5336
|
+
|
|
5337
|
+
IgzActionsPanesController.$inject = ["lodash", "ConfigService"];
|
|
5338
|
+
angular.module('iguazio.dashboard-controls').component('igzActionsPanes', {
|
|
5339
|
+
bindings: {
|
|
5340
|
+
infoPaneDisable: '<?',
|
|
5341
|
+
isInfoPaneOpened: '<?',
|
|
5342
|
+
filtersToggleMethod: '&?',
|
|
5343
|
+
filtersCounter: '<?',
|
|
5344
|
+
isFiltersOpened: '<?',
|
|
5345
|
+
showFilterIcon: '@?',
|
|
5346
|
+
infoPaneToggleMethod: '&?',
|
|
5347
|
+
closeInfoPane: '&?'
|
|
5348
|
+
},
|
|
5349
|
+
templateUrl: 'igz_controls/components/actions-panes/actions-panes.tpl.html',
|
|
5350
|
+
controller: IgzActionsPanesController
|
|
5351
|
+
});
|
|
5352
|
+
function IgzActionsPanesController(lodash, ConfigService) {
|
|
5353
|
+
var ctrl = this;
|
|
5354
|
+
ctrl.callToggleMethod = null;
|
|
5355
|
+
ctrl.$onInit = onInit;
|
|
5356
|
+
ctrl.isShowFilterActionIcon = isShowFilterActionIcon;
|
|
5357
|
+
|
|
5358
|
+
//
|
|
5359
|
+
// Hook methods
|
|
5360
|
+
//
|
|
5361
|
+
|
|
5362
|
+
/**
|
|
5363
|
+
* Initialization method
|
|
5364
|
+
*/
|
|
5365
|
+
function onInit() {
|
|
5366
|
+
ctrl.callToggleMethod = angular.isFunction(ctrl.closeInfoPane) ? ctrl.closeInfoPane : ctrl.infoPaneToggleMethod;
|
|
5367
|
+
}
|
|
5368
|
+
|
|
5369
|
+
//
|
|
5370
|
+
// Public method
|
|
5371
|
+
//
|
|
5372
|
+
|
|
5373
|
+
/**
|
|
5374
|
+
* Checks if filter toggles method exists and if filter pane should toggle only in demo mode
|
|
5375
|
+
* @returns {boolean}
|
|
5376
|
+
*/
|
|
5377
|
+
function isShowFilterActionIcon() {
|
|
5378
|
+
return angular.isFunction(ctrl.filtersToggleMethod) && (lodash.isEqual(ctrl.showFilterIcon, 'true') || ConfigService.isDemoMode());
|
|
5379
|
+
}
|
|
5380
|
+
}
|
|
5381
|
+
})();
|
|
5382
|
+
"use strict";
|
|
5383
|
+
|
|
5384
5384
|
/*
|
|
5385
5385
|
Copyright 2018 Iguazio Systems Ltd.
|
|
5386
5386
|
Licensed under the Apache License, Version 2.0 (the "License") with
|
|
@@ -6127,6 +6127,11 @@ such restriction.
|
|
|
6127
6127
|
}
|
|
6128
6128
|
}
|
|
6129
6129
|
}
|
|
6130
|
+
if (angular.isDefined(changes.selectedPreset)) {
|
|
6131
|
+
if (lodash.has(ctrl.presets, changes.selectedPreset.currentValue)) {
|
|
6132
|
+
ctrl.displayText = ctrl.presets[changes.selectedPreset.currentValue].label;
|
|
6133
|
+
}
|
|
6134
|
+
}
|
|
6130
6135
|
}
|
|
6131
6136
|
|
|
6132
6137
|
//
|
|
@@ -7225,6 +7230,112 @@ such restriction.
|
|
|
7225
7230
|
})();
|
|
7226
7231
|
"use strict";
|
|
7227
7232
|
|
|
7233
|
+
/*
|
|
7234
|
+
Copyright 2018 Iguazio Systems Ltd.
|
|
7235
|
+
Licensed under the Apache License, Version 2.0 (the "License") with
|
|
7236
|
+
an addition restriction as set forth herein. You may not use this
|
|
7237
|
+
file except in compliance with the License. You may obtain a copy of
|
|
7238
|
+
the License at http://www.apache.org/licenses/LICENSE-2.0.
|
|
7239
|
+
Unless required by applicable law or agreed to in writing, software
|
|
7240
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
7241
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
|
7242
|
+
implied. See the License for the specific language governing
|
|
7243
|
+
permissions and limitations under the License.
|
|
7244
|
+
In addition, you may not use the software for any purposes that are
|
|
7245
|
+
illegal under applicable law, and the grant of the foregoing license
|
|
7246
|
+
under the Apache 2.0 license is conditioned upon your compliance with
|
|
7247
|
+
such restriction.
|
|
7248
|
+
*/
|
|
7249
|
+
(function () {
|
|
7250
|
+
'use strict';
|
|
7251
|
+
|
|
7252
|
+
IgzImportProjectDialogController.$inject = ["$scope", "$i18next", "i18next", "lodash"];
|
|
7253
|
+
angular.module('iguazio.dashboard-controls').component('igzImportProjectDialog', {
|
|
7254
|
+
bindings: {
|
|
7255
|
+
closeDialog: '&',
|
|
7256
|
+
dialogTitle: '<',
|
|
7257
|
+
displayAllOptions: '<'
|
|
7258
|
+
},
|
|
7259
|
+
templateUrl: 'igz_controls/components/import-project-dialog/import-project-dialog.tpl.html',
|
|
7260
|
+
controller: IgzImportProjectDialogController
|
|
7261
|
+
});
|
|
7262
|
+
function IgzImportProjectDialogController($scope, $i18next, i18next, lodash) {
|
|
7263
|
+
var ctrl = this;
|
|
7264
|
+
var lng = i18next.language;
|
|
7265
|
+
var checkedItem = 'singleFunction';
|
|
7266
|
+
ctrl.option = [];
|
|
7267
|
+
ctrl.optionList = [{
|
|
7268
|
+
label: $i18next.t('common:APPLY_TO_ALL_FUNCTIONS_IN_THIS_PROJECT', {
|
|
7269
|
+
lng: lng
|
|
7270
|
+
}),
|
|
7271
|
+
id: 'singleProject',
|
|
7272
|
+
value: 'singleProject',
|
|
7273
|
+
disabled: false,
|
|
7274
|
+
visibility: true
|
|
7275
|
+
}, {
|
|
7276
|
+
label: $i18next.t('common:APPLY_TO_ALL_FUNCTIONS_IN_ALL_PROJECT', {
|
|
7277
|
+
lng: lng
|
|
7278
|
+
}),
|
|
7279
|
+
id: 'allProjects',
|
|
7280
|
+
value: 'allProjects',
|
|
7281
|
+
disabled: false,
|
|
7282
|
+
visibility: true
|
|
7283
|
+
}];
|
|
7284
|
+
ctrl.$onInit = onInit;
|
|
7285
|
+
ctrl.onClose = onClose;
|
|
7286
|
+
ctrl.onCheckboxChange = onCheckboxChange;
|
|
7287
|
+
|
|
7288
|
+
//
|
|
7289
|
+
// Hook methods
|
|
7290
|
+
//
|
|
7291
|
+
|
|
7292
|
+
/**
|
|
7293
|
+
* Initialization method
|
|
7294
|
+
*/
|
|
7295
|
+
function onInit() {
|
|
7296
|
+
lodash.set(ctrl.optionList, '[1].visibility', ctrl.displayAllOptions);
|
|
7297
|
+
}
|
|
7298
|
+
|
|
7299
|
+
//
|
|
7300
|
+
// Public methods
|
|
7301
|
+
//
|
|
7302
|
+
|
|
7303
|
+
/**
|
|
7304
|
+
* Handles checking/un-checking checkbox
|
|
7305
|
+
*/
|
|
7306
|
+
function onCheckboxChange() {
|
|
7307
|
+
if (!lodash.isNil(ctrl.option)) {
|
|
7308
|
+
if (lodash.includes(ctrl.option, 'allProjects')) {
|
|
7309
|
+
lodash.set(ctrl.optionList, '[0].disabled', true);
|
|
7310
|
+
if (ctrl.option.length === 1) {
|
|
7311
|
+
ctrl.option.unshift('singleProject');
|
|
7312
|
+
}
|
|
7313
|
+
} else {
|
|
7314
|
+
lodash.set(ctrl.optionList, '[0].disabled', false);
|
|
7315
|
+
}
|
|
7316
|
+
ctrl.optionList = angular.copy(ctrl.optionList);
|
|
7317
|
+
ctrl.option = angular.copy(ctrl.option);
|
|
7318
|
+
checkedItem = lodash.get(ctrl.option, [ctrl.option.length - 1]);
|
|
7319
|
+
} else {
|
|
7320
|
+
checkedItem = 'singleFunction';
|
|
7321
|
+
}
|
|
7322
|
+
}
|
|
7323
|
+
|
|
7324
|
+
/**
|
|
7325
|
+
* Closes dialog
|
|
7326
|
+
* @param {string} action
|
|
7327
|
+
*/
|
|
7328
|
+
function onClose(action) {
|
|
7329
|
+
ctrl.closeDialog({
|
|
7330
|
+
action: action,
|
|
7331
|
+
option: checkedItem
|
|
7332
|
+
});
|
|
7333
|
+
ctrl.option = [];
|
|
7334
|
+
}
|
|
7335
|
+
}
|
|
7336
|
+
})();
|
|
7337
|
+
"use strict";
|
|
7338
|
+
|
|
7228
7339
|
/*
|
|
7229
7340
|
Copyright 2018 Iguazio Systems Ltd.
|
|
7230
7341
|
Licensed under the Apache License, Version 2.0 (the "License") with
|
|
@@ -7423,121 +7534,15 @@ such restriction.
|
|
|
7423
7534
|
(function () {
|
|
7424
7535
|
'use strict';
|
|
7425
7536
|
|
|
7426
|
-
|
|
7427
|
-
angular.module('iguazio.dashboard-controls').component('
|
|
7537
|
+
IgzElasticLogTableRowController.$inject = ["lodash"];
|
|
7538
|
+
angular.module('iguazio.dashboard-controls').component('igzElasticLogTableRow', {
|
|
7428
7539
|
bindings: {
|
|
7429
|
-
|
|
7430
|
-
dialogTitle: '<',
|
|
7431
|
-
displayAllOptions: '<'
|
|
7540
|
+
entryItem: '<'
|
|
7432
7541
|
},
|
|
7433
|
-
templateUrl: 'igz_controls/components/
|
|
7434
|
-
controller:
|
|
7542
|
+
templateUrl: 'igz_controls/components/log-table-row/log-table-row.tpl.html',
|
|
7543
|
+
controller: IgzElasticLogTableRowController
|
|
7435
7544
|
});
|
|
7436
|
-
function
|
|
7437
|
-
var ctrl = this;
|
|
7438
|
-
var lng = i18next.language;
|
|
7439
|
-
var checkedItem = 'singleFunction';
|
|
7440
|
-
ctrl.option = [];
|
|
7441
|
-
ctrl.optionList = [{
|
|
7442
|
-
label: $i18next.t('common:APPLY_TO_ALL_FUNCTIONS_IN_THIS_PROJECT', {
|
|
7443
|
-
lng: lng
|
|
7444
|
-
}),
|
|
7445
|
-
id: 'singleProject',
|
|
7446
|
-
value: 'singleProject',
|
|
7447
|
-
disabled: false,
|
|
7448
|
-
visibility: true
|
|
7449
|
-
}, {
|
|
7450
|
-
label: $i18next.t('common:APPLY_TO_ALL_FUNCTIONS_IN_ALL_PROJECT', {
|
|
7451
|
-
lng: lng
|
|
7452
|
-
}),
|
|
7453
|
-
id: 'allProjects',
|
|
7454
|
-
value: 'allProjects',
|
|
7455
|
-
disabled: false,
|
|
7456
|
-
visibility: true
|
|
7457
|
-
}];
|
|
7458
|
-
ctrl.$onInit = onInit;
|
|
7459
|
-
ctrl.onClose = onClose;
|
|
7460
|
-
ctrl.onCheckboxChange = onCheckboxChange;
|
|
7461
|
-
|
|
7462
|
-
//
|
|
7463
|
-
// Hook methods
|
|
7464
|
-
//
|
|
7465
|
-
|
|
7466
|
-
/**
|
|
7467
|
-
* Initialization method
|
|
7468
|
-
*/
|
|
7469
|
-
function onInit() {
|
|
7470
|
-
lodash.set(ctrl.optionList, '[1].visibility', ctrl.displayAllOptions);
|
|
7471
|
-
}
|
|
7472
|
-
|
|
7473
|
-
//
|
|
7474
|
-
// Public methods
|
|
7475
|
-
//
|
|
7476
|
-
|
|
7477
|
-
/**
|
|
7478
|
-
* Handles checking/un-checking checkbox
|
|
7479
|
-
*/
|
|
7480
|
-
function onCheckboxChange() {
|
|
7481
|
-
if (!lodash.isNil(ctrl.option)) {
|
|
7482
|
-
if (lodash.includes(ctrl.option, 'allProjects')) {
|
|
7483
|
-
lodash.set(ctrl.optionList, '[0].disabled', true);
|
|
7484
|
-
if (ctrl.option.length === 1) {
|
|
7485
|
-
ctrl.option.unshift('singleProject');
|
|
7486
|
-
}
|
|
7487
|
-
} else {
|
|
7488
|
-
lodash.set(ctrl.optionList, '[0].disabled', false);
|
|
7489
|
-
}
|
|
7490
|
-
ctrl.optionList = angular.copy(ctrl.optionList);
|
|
7491
|
-
ctrl.option = angular.copy(ctrl.option);
|
|
7492
|
-
checkedItem = lodash.get(ctrl.option, [ctrl.option.length - 1]);
|
|
7493
|
-
} else {
|
|
7494
|
-
checkedItem = 'singleFunction';
|
|
7495
|
-
}
|
|
7496
|
-
}
|
|
7497
|
-
|
|
7498
|
-
/**
|
|
7499
|
-
* Closes dialog
|
|
7500
|
-
* @param {string} action
|
|
7501
|
-
*/
|
|
7502
|
-
function onClose(action) {
|
|
7503
|
-
ctrl.closeDialog({
|
|
7504
|
-
action: action,
|
|
7505
|
-
option: checkedItem
|
|
7506
|
-
});
|
|
7507
|
-
ctrl.option = [];
|
|
7508
|
-
}
|
|
7509
|
-
}
|
|
7510
|
-
})();
|
|
7511
|
-
"use strict";
|
|
7512
|
-
|
|
7513
|
-
/*
|
|
7514
|
-
Copyright 2018 Iguazio Systems Ltd.
|
|
7515
|
-
Licensed under the Apache License, Version 2.0 (the "License") with
|
|
7516
|
-
an addition restriction as set forth herein. You may not use this
|
|
7517
|
-
file except in compliance with the License. You may obtain a copy of
|
|
7518
|
-
the License at http://www.apache.org/licenses/LICENSE-2.0.
|
|
7519
|
-
Unless required by applicable law or agreed to in writing, software
|
|
7520
|
-
distributed under the License is distributed on an "AS IS" BASIS,
|
|
7521
|
-
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
|
7522
|
-
implied. See the License for the specific language governing
|
|
7523
|
-
permissions and limitations under the License.
|
|
7524
|
-
In addition, you may not use the software for any purposes that are
|
|
7525
|
-
illegal under applicable law, and the grant of the foregoing license
|
|
7526
|
-
under the Apache 2.0 license is conditioned upon your compliance with
|
|
7527
|
-
such restriction.
|
|
7528
|
-
*/
|
|
7529
|
-
(function () {
|
|
7530
|
-
'use strict';
|
|
7531
|
-
|
|
7532
|
-
IgzElasticLogTableRowController.$inject = ["lodash"];
|
|
7533
|
-
angular.module('iguazio.dashboard-controls').component('igzElasticLogTableRow', {
|
|
7534
|
-
bindings: {
|
|
7535
|
-
entryItem: '<'
|
|
7536
|
-
},
|
|
7537
|
-
templateUrl: 'igz_controls/components/log-table-row/log-table-row.tpl.html',
|
|
7538
|
-
controller: IgzElasticLogTableRowController
|
|
7539
|
-
});
|
|
7540
|
-
function IgzElasticLogTableRowController(lodash) {
|
|
7545
|
+
function IgzElasticLogTableRowController(lodash) {
|
|
7541
7546
|
var ctrl = this;
|
|
7542
7547
|
ctrl.getLogLevel = getLogLevel;
|
|
7543
7548
|
ctrl.getLogName = getLogName;
|
|
@@ -8154,6 +8159,7 @@ such restriction.
|
|
|
8154
8159
|
lodash.forEach(ctrl.optionList, function (option) {
|
|
8155
8160
|
option.checked = ctrl.isAllItemsChecked;
|
|
8156
8161
|
});
|
|
8162
|
+
updateViewValue();
|
|
8157
8163
|
}
|
|
8158
8164
|
}
|
|
8159
8165
|
|
|
@@ -10643,6 +10649,95 @@ such restriction.
|
|
|
10643
10649
|
})();
|
|
10644
10650
|
"use strict";
|
|
10645
10651
|
|
|
10652
|
+
/*
|
|
10653
|
+
Copyright 2018 Iguazio Systems Ltd.
|
|
10654
|
+
Licensed under the Apache License, Version 2.0 (the "License") with
|
|
10655
|
+
an addition restriction as set forth herein. You may not use this
|
|
10656
|
+
file except in compliance with the License. You may obtain a copy of
|
|
10657
|
+
the License at http://www.apache.org/licenses/LICENSE-2.0.
|
|
10658
|
+
Unless required by applicable law or agreed to in writing, software
|
|
10659
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
10660
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
|
10661
|
+
implied. See the License for the specific language governing
|
|
10662
|
+
permissions and limitations under the License.
|
|
10663
|
+
In addition, you may not use the software for any purposes that are
|
|
10664
|
+
illegal under applicable law, and the grant of the foregoing license
|
|
10665
|
+
under the Apache 2.0 license is conditioned upon your compliance with
|
|
10666
|
+
such restriction.
|
|
10667
|
+
*/
|
|
10668
|
+
(function () {
|
|
10669
|
+
'use strict';
|
|
10670
|
+
|
|
10671
|
+
IgzSplashScreenController.$inject = ["$scope", "$state", "$i18next", "i18next"];
|
|
10672
|
+
angular.module('iguazio.dashboard-controls').component('igzSplashScreen', {
|
|
10673
|
+
bindings: {
|
|
10674
|
+
isSplashShowed: '<'
|
|
10675
|
+
},
|
|
10676
|
+
templateUrl: 'igz_controls/components/splash-screen/splash-screen.tpl.html',
|
|
10677
|
+
controller: IgzSplashScreenController
|
|
10678
|
+
});
|
|
10679
|
+
function IgzSplashScreenController($scope, $state, $i18next, i18next) {
|
|
10680
|
+
var ctrl = this;
|
|
10681
|
+
var lng = i18next.language;
|
|
10682
|
+
|
|
10683
|
+
// public properties
|
|
10684
|
+
ctrl.isLoading = true;
|
|
10685
|
+
ctrl.isAlertShowing = false;
|
|
10686
|
+
ctrl.textToDisplay = $i18next.t('common:LOADING_CAPITALIZE_ELLIPSIS', {
|
|
10687
|
+
lng: lng
|
|
10688
|
+
});
|
|
10689
|
+
ctrl.$onInit = onInit;
|
|
10690
|
+
|
|
10691
|
+
// public methods
|
|
10692
|
+
ctrl.refreshPage = refreshPage;
|
|
10693
|
+
|
|
10694
|
+
//
|
|
10695
|
+
// Hook methods
|
|
10696
|
+
//
|
|
10697
|
+
|
|
10698
|
+
/**
|
|
10699
|
+
* Initialization method
|
|
10700
|
+
*/
|
|
10701
|
+
function onInit() {
|
|
10702
|
+
$scope.$on('splash-screen_show-error', showError);
|
|
10703
|
+
}
|
|
10704
|
+
|
|
10705
|
+
//
|
|
10706
|
+
// Public methods
|
|
10707
|
+
//
|
|
10708
|
+
|
|
10709
|
+
/**
|
|
10710
|
+
* Sends broadcast to refresh browse page
|
|
10711
|
+
*/
|
|
10712
|
+
function refreshPage() {
|
|
10713
|
+
ctrl.isLoading = true;
|
|
10714
|
+
ctrl.isAlertShowing = false;
|
|
10715
|
+
$state.reload();
|
|
10716
|
+
}
|
|
10717
|
+
|
|
10718
|
+
//
|
|
10719
|
+
// Private methods
|
|
10720
|
+
//
|
|
10721
|
+
|
|
10722
|
+
/**
|
|
10723
|
+
* Shows error text
|
|
10724
|
+
* @param {Object} event - native broadcast event
|
|
10725
|
+
* @param {string} data - broadcast data
|
|
10726
|
+
*/
|
|
10727
|
+
function showError(event, data) {
|
|
10728
|
+
if (angular.isDefined(data.textToDisplay)) {
|
|
10729
|
+
ctrl.textToDisplay = data.textToDisplay;
|
|
10730
|
+
}
|
|
10731
|
+
if (angular.isDefined(data.alertText)) {
|
|
10732
|
+
ctrl.alertText = data.alertText;
|
|
10733
|
+
}
|
|
10734
|
+
ctrl.isLoading = false;
|
|
10735
|
+
ctrl.isAlertShowing = true;
|
|
10736
|
+
}
|
|
10737
|
+
}
|
|
10738
|
+
})();
|
|
10739
|
+
"use strict";
|
|
10740
|
+
|
|
10646
10741
|
/*
|
|
10647
10742
|
Copyright 2018 Iguazio Systems Ltd.
|
|
10648
10743
|
Licensed under the Apache License, Version 2.0 (the "License") with
|
|
@@ -10816,38 +10911,59 @@ such restriction.
|
|
|
10816
10911
|
(function () {
|
|
10817
10912
|
'use strict';
|
|
10818
10913
|
|
|
10819
|
-
|
|
10820
|
-
|
|
10914
|
+
/**
|
|
10915
|
+
* @name igzTextEdit
|
|
10916
|
+
* @description
|
|
10917
|
+
* Text edit component. This component is a text editor based on `Monaco code editor`
|
|
10918
|
+
* https://github.com/Microsoft/monaco-editor
|
|
10919
|
+
*
|
|
10920
|
+
* @param {string} content - main text content which can be edited.
|
|
10921
|
+
* @param {Object} closeDialog - callback on closing editor dialog.
|
|
10922
|
+
* @param {Object} closeButtonText - name of the bottom close/cancel button.
|
|
10923
|
+
* @param {string} label - name of the text file.
|
|
10924
|
+
* @param {string} language - language of the current content (`plain text`, `javascript` etc.).
|
|
10925
|
+
* Note: uses for updating node after submitting
|
|
10926
|
+
* @param {string} submitButtonText - name of the bottom submit/apply button.
|
|
10927
|
+
* @param {Object} submitData - callback on submitting data.
|
|
10928
|
+
*/
|
|
10929
|
+
IgzTextPreviewController.$inject = ["$i18next", "$rootScope", "$scope", "$timeout", "i18next", "ngDialog", "lodash", "DialogsService"];
|
|
10930
|
+
angular.module('iguazio.dashboard-controls').component('igzTextEdit', {
|
|
10821
10931
|
bindings: {
|
|
10822
|
-
|
|
10932
|
+
content: '@',
|
|
10933
|
+
closeDialog: '&',
|
|
10934
|
+
closeButtonText: '@',
|
|
10935
|
+
ngDialogId: '@',
|
|
10936
|
+
label: '@',
|
|
10937
|
+
language: '@',
|
|
10938
|
+
submitButtonText: '@',
|
|
10939
|
+
submitData: '&'
|
|
10823
10940
|
},
|
|
10824
|
-
templateUrl: 'igz_controls/components/
|
|
10825
|
-
controller:
|
|
10941
|
+
templateUrl: 'igz_controls/components/text-edit/text-edit.tpl.html',
|
|
10942
|
+
controller: IgzTextPreviewController
|
|
10826
10943
|
});
|
|
10827
|
-
function
|
|
10944
|
+
function IgzTextPreviewController($i18next, $rootScope, $scope, $timeout, i18next, ngDialog, lodash, DialogsService) {
|
|
10828
10945
|
var ctrl = this;
|
|
10829
10946
|
var lng = i18next.language;
|
|
10830
|
-
|
|
10831
|
-
|
|
10832
|
-
ctrl.
|
|
10833
|
-
ctrl.
|
|
10834
|
-
ctrl.
|
|
10835
|
-
lng: lng
|
|
10836
|
-
});
|
|
10947
|
+
var contentCopy = '';
|
|
10948
|
+
ctrl.enableWordWrap = false;
|
|
10949
|
+
ctrl.fileChanged = false;
|
|
10950
|
+
ctrl.isLoadingState = false;
|
|
10951
|
+
ctrl.serverError = '';
|
|
10837
10952
|
ctrl.$onInit = onInit;
|
|
10838
|
-
|
|
10839
|
-
|
|
10840
|
-
ctrl.
|
|
10953
|
+
ctrl.onChangeText = onChangeText;
|
|
10954
|
+
ctrl.onClose = onClose;
|
|
10955
|
+
ctrl.onSubmit = onSubmit;
|
|
10841
10956
|
|
|
10842
10957
|
//
|
|
10843
|
-
// Hook
|
|
10958
|
+
// Hook method
|
|
10844
10959
|
//
|
|
10845
10960
|
|
|
10846
10961
|
/**
|
|
10847
|
-
*
|
|
10962
|
+
* Init method
|
|
10848
10963
|
*/
|
|
10849
10964
|
function onInit() {
|
|
10850
|
-
|
|
10965
|
+
contentCopy = angular.copy(ctrl.content);
|
|
10966
|
+
$scope.$on('close-dialog-service_close-dialog', ctrl.onClose);
|
|
10851
10967
|
}
|
|
10852
10968
|
|
|
10853
10969
|
//
|
|
@@ -10855,118 +10971,8 @@ such restriction.
|
|
|
10855
10971
|
//
|
|
10856
10972
|
|
|
10857
10973
|
/**
|
|
10858
|
-
*
|
|
10859
|
-
|
|
10860
|
-
function refreshPage() {
|
|
10861
|
-
ctrl.isLoading = true;
|
|
10862
|
-
ctrl.isAlertShowing = false;
|
|
10863
|
-
$state.reload();
|
|
10864
|
-
}
|
|
10865
|
-
|
|
10866
|
-
//
|
|
10867
|
-
// Private methods
|
|
10868
|
-
//
|
|
10869
|
-
|
|
10870
|
-
/**
|
|
10871
|
-
* Shows error text
|
|
10872
|
-
* @param {Object} event - native broadcast event
|
|
10873
|
-
* @param {string} data - broadcast data
|
|
10874
|
-
*/
|
|
10875
|
-
function showError(event, data) {
|
|
10876
|
-
if (angular.isDefined(data.textToDisplay)) {
|
|
10877
|
-
ctrl.textToDisplay = data.textToDisplay;
|
|
10878
|
-
}
|
|
10879
|
-
if (angular.isDefined(data.alertText)) {
|
|
10880
|
-
ctrl.alertText = data.alertText;
|
|
10881
|
-
}
|
|
10882
|
-
ctrl.isLoading = false;
|
|
10883
|
-
ctrl.isAlertShowing = true;
|
|
10884
|
-
}
|
|
10885
|
-
}
|
|
10886
|
-
})();
|
|
10887
|
-
"use strict";
|
|
10888
|
-
|
|
10889
|
-
/*
|
|
10890
|
-
Copyright 2018 Iguazio Systems Ltd.
|
|
10891
|
-
Licensed under the Apache License, Version 2.0 (the "License") with
|
|
10892
|
-
an addition restriction as set forth herein. You may not use this
|
|
10893
|
-
file except in compliance with the License. You may obtain a copy of
|
|
10894
|
-
the License at http://www.apache.org/licenses/LICENSE-2.0.
|
|
10895
|
-
Unless required by applicable law or agreed to in writing, software
|
|
10896
|
-
distributed under the License is distributed on an "AS IS" BASIS,
|
|
10897
|
-
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
|
10898
|
-
implied. See the License for the specific language governing
|
|
10899
|
-
permissions and limitations under the License.
|
|
10900
|
-
In addition, you may not use the software for any purposes that are
|
|
10901
|
-
illegal under applicable law, and the grant of the foregoing license
|
|
10902
|
-
under the Apache 2.0 license is conditioned upon your compliance with
|
|
10903
|
-
such restriction.
|
|
10904
|
-
*/
|
|
10905
|
-
(function () {
|
|
10906
|
-
'use strict';
|
|
10907
|
-
|
|
10908
|
-
/**
|
|
10909
|
-
* @name igzTextEdit
|
|
10910
|
-
* @description
|
|
10911
|
-
* Text edit component. This component is a text editor based on `Monaco code editor`
|
|
10912
|
-
* https://github.com/Microsoft/monaco-editor
|
|
10913
|
-
*
|
|
10914
|
-
* @param {string} content - main text content which can be edited.
|
|
10915
|
-
* @param {Object} closeDialog - callback on closing editor dialog.
|
|
10916
|
-
* @param {Object} closeButtonText - name of the bottom close/cancel button.
|
|
10917
|
-
* @param {string} label - name of the text file.
|
|
10918
|
-
* @param {string} language - language of the current content (`plain text`, `javascript` etc.).
|
|
10919
|
-
* Note: uses for updating node after submitting
|
|
10920
|
-
* @param {string} submitButtonText - name of the bottom submit/apply button.
|
|
10921
|
-
* @param {Object} submitData - callback on submitting data.
|
|
10922
|
-
*/
|
|
10923
|
-
IgzTextPreviewController.$inject = ["$i18next", "$rootScope", "$scope", "$timeout", "i18next", "ngDialog", "lodash", "DialogsService"];
|
|
10924
|
-
angular.module('iguazio.dashboard-controls').component('igzTextEdit', {
|
|
10925
|
-
bindings: {
|
|
10926
|
-
content: '@',
|
|
10927
|
-
closeDialog: '&',
|
|
10928
|
-
closeButtonText: '@',
|
|
10929
|
-
ngDialogId: '@',
|
|
10930
|
-
label: '@',
|
|
10931
|
-
language: '@',
|
|
10932
|
-
submitButtonText: '@',
|
|
10933
|
-
submitData: '&'
|
|
10934
|
-
},
|
|
10935
|
-
templateUrl: 'igz_controls/components/text-edit/text-edit.tpl.html',
|
|
10936
|
-
controller: IgzTextPreviewController
|
|
10937
|
-
});
|
|
10938
|
-
function IgzTextPreviewController($i18next, $rootScope, $scope, $timeout, i18next, ngDialog, lodash, DialogsService) {
|
|
10939
|
-
var ctrl = this;
|
|
10940
|
-
var lng = i18next.language;
|
|
10941
|
-
var contentCopy = '';
|
|
10942
|
-
ctrl.enableWordWrap = false;
|
|
10943
|
-
ctrl.fileChanged = false;
|
|
10944
|
-
ctrl.isLoadingState = false;
|
|
10945
|
-
ctrl.serverError = '';
|
|
10946
|
-
ctrl.$onInit = onInit;
|
|
10947
|
-
ctrl.onChangeText = onChangeText;
|
|
10948
|
-
ctrl.onClose = onClose;
|
|
10949
|
-
ctrl.onSubmit = onSubmit;
|
|
10950
|
-
|
|
10951
|
-
//
|
|
10952
|
-
// Hook method
|
|
10953
|
-
//
|
|
10954
|
-
|
|
10955
|
-
/**
|
|
10956
|
-
* Init method
|
|
10957
|
-
*/
|
|
10958
|
-
function onInit() {
|
|
10959
|
-
contentCopy = angular.copy(ctrl.content);
|
|
10960
|
-
$scope.$on('close-dialog-service_close-dialog', ctrl.onClose);
|
|
10961
|
-
}
|
|
10962
|
-
|
|
10963
|
-
//
|
|
10964
|
-
// Public methods
|
|
10965
|
-
//
|
|
10966
|
-
|
|
10967
|
-
/**
|
|
10968
|
-
* Sets file changed flag to true
|
|
10969
|
-
* @param {string} sourceCode - changed file content
|
|
10974
|
+
* Sets file changed flag to true
|
|
10975
|
+
* @param {string} sourceCode - changed file content
|
|
10970
10976
|
*/
|
|
10971
10977
|
function onChangeText(sourceCode) {
|
|
10972
10978
|
var isFileChanged = !lodash.isEqual(contentCopy, sourceCode);
|
|
@@ -11043,114 +11049,6 @@ such restriction.
|
|
|
11043
11049
|
})();
|
|
11044
11050
|
"use strict";
|
|
11045
11051
|
|
|
11046
|
-
/*
|
|
11047
|
-
Copyright 2018 Iguazio Systems Ltd.
|
|
11048
|
-
Licensed under the Apache License, Version 2.0 (the "License") with
|
|
11049
|
-
an addition restriction as set forth herein. You may not use this
|
|
11050
|
-
file except in compliance with the License. You may obtain a copy of
|
|
11051
|
-
the License at http://www.apache.org/licenses/LICENSE-2.0.
|
|
11052
|
-
Unless required by applicable law or agreed to in writing, software
|
|
11053
|
-
distributed under the License is distributed on an "AS IS" BASIS,
|
|
11054
|
-
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
|
11055
|
-
implied. See the License for the specific language governing
|
|
11056
|
-
permissions and limitations under the License.
|
|
11057
|
-
In addition, you may not use the software for any purposes that are
|
|
11058
|
-
illegal under applicable law, and the grant of the foregoing license
|
|
11059
|
-
under the Apache 2.0 license is conditioned upon your compliance with
|
|
11060
|
-
such restriction.
|
|
11061
|
-
*/
|
|
11062
|
-
(function () {
|
|
11063
|
-
'use strict';
|
|
11064
|
-
|
|
11065
|
-
IgzToastStatusPanelController.$inject = ["$element", "$rootScope", "$timeout", "$transclude", "lodash"];
|
|
11066
|
-
angular.module('iguazio.dashboard-controls').component('igzToastStatusPanel', {
|
|
11067
|
-
bindings: {
|
|
11068
|
-
onClose: '&?',
|
|
11069
|
-
panelMessages: '<',
|
|
11070
|
-
panelState: '<',
|
|
11071
|
-
permanent: '<?'
|
|
11072
|
-
},
|
|
11073
|
-
templateUrl: 'igz_controls/components/toast-status-panel/toast-status-panel.tpl.html',
|
|
11074
|
-
controller: IgzToastStatusPanelController,
|
|
11075
|
-
transclude: true
|
|
11076
|
-
});
|
|
11077
|
-
function IgzToastStatusPanelController($element, $rootScope, $timeout, $transclude, lodash) {
|
|
11078
|
-
var ctrl = this;
|
|
11079
|
-
var statusIcons = {
|
|
11080
|
-
'succeeded': 'igz-icon-tick-round',
|
|
11081
|
-
'in-progress': 'igz-icon-properties',
|
|
11082
|
-
'failed': 'igz-icon-block'
|
|
11083
|
-
};
|
|
11084
|
-
ctrl.isToastPanelShown = false;
|
|
11085
|
-
ctrl.isTranscludePassed = false;
|
|
11086
|
-
ctrl.$onChanges = onChanges;
|
|
11087
|
-
ctrl.closeToastPanel = closeToastPanel;
|
|
11088
|
-
ctrl.getState = getState;
|
|
11089
|
-
ctrl.getStateMessage = getStateMessage;
|
|
11090
|
-
|
|
11091
|
-
// checks if transclude template was passed
|
|
11092
|
-
$transclude(function (transclude) {
|
|
11093
|
-
ctrl.isTranscludePassed = transclude.length > 0 && !(
|
|
11094
|
-
// a single text node with whitespace only, meaning there is nothing important between the opening
|
|
11095
|
-
// tag `<igz-toast-status-panel>` and the closing tag `</igz-toast-status-panel>`
|
|
11096
|
-
transclude.length === 1 && transclude[0].nodeType === 3 && transclude.text().trim() === '');
|
|
11097
|
-
});
|
|
11098
|
-
|
|
11099
|
-
//
|
|
11100
|
-
// Hook methods
|
|
11101
|
-
//
|
|
11102
|
-
|
|
11103
|
-
/**
|
|
11104
|
-
* On changes method
|
|
11105
|
-
* @param {Object} changes
|
|
11106
|
-
*/
|
|
11107
|
-
function onChanges(changes) {
|
|
11108
|
-
if (lodash.has(changes, 'panelState')) {
|
|
11109
|
-
ctrl.isToastPanelShown = !lodash.isNil(changes.panelState.currentValue);
|
|
11110
|
-
$element.find('.panel-status-icon').removeClass(lodash.get(statusIcons, changes.panelState.previousValue)).addClass(lodash.get(statusIcons, changes.panelState.currentValue));
|
|
11111
|
-
$element.find('.toast-status-panel').removeClass(changes.panelState.previousValue).addClass(changes.panelState.currentValue);
|
|
11112
|
-
$element.find('.panel-status').removeClass(changes.panelState.previousValue).addClass(changes.panelState.currentValue);
|
|
11113
|
-
}
|
|
11114
|
-
}
|
|
11115
|
-
|
|
11116
|
-
//
|
|
11117
|
-
// Public methods
|
|
11118
|
-
//
|
|
11119
|
-
|
|
11120
|
-
/**
|
|
11121
|
-
* Shows/hides toast panel
|
|
11122
|
-
*/
|
|
11123
|
-
function closeToastPanel() {
|
|
11124
|
-
ctrl.isToastPanelShown = false;
|
|
11125
|
-
ctrl.panelState = null;
|
|
11126
|
-
if (lodash.isFunction(ctrl.onClose)) {
|
|
11127
|
-
ctrl.onClose();
|
|
11128
|
-
}
|
|
11129
|
-
$timeout(function () {
|
|
11130
|
-
$rootScope.$broadcast('igzWatchWindowResize::resize');
|
|
11131
|
-
});
|
|
11132
|
-
}
|
|
11133
|
-
|
|
11134
|
-
/**
|
|
11135
|
-
* Gets current state
|
|
11136
|
-
* @returns {?string} (e.g. "in-progress", "succeeded", "failed")
|
|
11137
|
-
*/
|
|
11138
|
-
function getState() {
|
|
11139
|
-
return ctrl.panelState;
|
|
11140
|
-
}
|
|
11141
|
-
|
|
11142
|
-
/**
|
|
11143
|
-
* Gets status message of given state
|
|
11144
|
-
* @param {string} state (e.g. "in-progress", "succeeded", "failed")
|
|
11145
|
-
* @returns {string}
|
|
11146
|
-
*/
|
|
11147
|
-
function getStateMessage(state) {
|
|
11148
|
-
return lodash.get(ctrl, ['panelMessages', state]);
|
|
11149
|
-
}
|
|
11150
|
-
}
|
|
11151
|
-
})();
|
|
11152
|
-
"use strict";
|
|
11153
|
-
|
|
11154
11052
|
/*
|
|
11155
11053
|
Copyright 2018 Iguazio Systems Ltd.
|
|
11156
11054
|
Licensed under the Apache License, Version 2.0 (the "License") with
|
|
@@ -11707,27 +11605,135 @@ such restriction.
|
|
|
11707
11605
|
(function () {
|
|
11708
11606
|
'use strict';
|
|
11709
11607
|
|
|
11710
|
-
|
|
11711
|
-
angular.module('iguazio.dashboard-controls').component('
|
|
11608
|
+
IgzToastStatusPanelController.$inject = ["$element", "$rootScope", "$timeout", "$transclude", "lodash"];
|
|
11609
|
+
angular.module('iguazio.dashboard-controls').component('igzToastStatusPanel', {
|
|
11712
11610
|
bindings: {
|
|
11713
|
-
|
|
11714
|
-
|
|
11611
|
+
onClose: '&?',
|
|
11612
|
+
panelMessages: '<',
|
|
11613
|
+
panelState: '<',
|
|
11614
|
+
permanent: '<?'
|
|
11715
11615
|
},
|
|
11716
|
-
templateUrl: 'igz_controls/components/
|
|
11717
|
-
controller:
|
|
11616
|
+
templateUrl: 'igz_controls/components/toast-status-panel/toast-status-panel.tpl.html',
|
|
11617
|
+
controller: IgzToastStatusPanelController,
|
|
11718
11618
|
transclude: true
|
|
11719
11619
|
});
|
|
11720
|
-
function
|
|
11620
|
+
function IgzToastStatusPanelController($element, $rootScope, $timeout, $transclude, lodash) {
|
|
11721
11621
|
var ctrl = this;
|
|
11722
|
-
|
|
11723
|
-
|
|
11622
|
+
var statusIcons = {
|
|
11623
|
+
'succeeded': 'igz-icon-tick-round',
|
|
11624
|
+
'in-progress': 'igz-icon-properties',
|
|
11625
|
+
'failed': 'igz-icon-block'
|
|
11626
|
+
};
|
|
11627
|
+
ctrl.isToastPanelShown = false;
|
|
11628
|
+
ctrl.isTranscludePassed = false;
|
|
11629
|
+
ctrl.$onChanges = onChanges;
|
|
11630
|
+
ctrl.closeToastPanel = closeToastPanel;
|
|
11631
|
+
ctrl.getState = getState;
|
|
11632
|
+
ctrl.getStateMessage = getStateMessage;
|
|
11633
|
+
|
|
11634
|
+
// checks if transclude template was passed
|
|
11635
|
+
$transclude(function (transclude) {
|
|
11636
|
+
ctrl.isTranscludePassed = transclude.length > 0 && !(
|
|
11637
|
+
// a single text node with whitespace only, meaning there is nothing important between the opening
|
|
11638
|
+
// tag `<igz-toast-status-panel>` and the closing tag `</igz-toast-status-panel>`
|
|
11639
|
+
transclude.length === 1 && transclude[0].nodeType === 3 && transclude.text().trim() === '');
|
|
11640
|
+
});
|
|
11724
11641
|
|
|
11725
11642
|
//
|
|
11726
|
-
//
|
|
11643
|
+
// Hook methods
|
|
11727
11644
|
//
|
|
11728
11645
|
|
|
11729
11646
|
/**
|
|
11730
|
-
*
|
|
11647
|
+
* On changes method
|
|
11648
|
+
* @param {Object} changes
|
|
11649
|
+
*/
|
|
11650
|
+
function onChanges(changes) {
|
|
11651
|
+
if (lodash.has(changes, 'panelState')) {
|
|
11652
|
+
ctrl.isToastPanelShown = !lodash.isNil(changes.panelState.currentValue);
|
|
11653
|
+
$element.find('.panel-status-icon').removeClass(lodash.get(statusIcons, changes.panelState.previousValue)).addClass(lodash.get(statusIcons, changes.panelState.currentValue));
|
|
11654
|
+
$element.find('.toast-status-panel').removeClass(changes.panelState.previousValue).addClass(changes.panelState.currentValue);
|
|
11655
|
+
$element.find('.panel-status').removeClass(changes.panelState.previousValue).addClass(changes.panelState.currentValue);
|
|
11656
|
+
}
|
|
11657
|
+
}
|
|
11658
|
+
|
|
11659
|
+
//
|
|
11660
|
+
// Public methods
|
|
11661
|
+
//
|
|
11662
|
+
|
|
11663
|
+
/**
|
|
11664
|
+
* Shows/hides toast panel
|
|
11665
|
+
*/
|
|
11666
|
+
function closeToastPanel() {
|
|
11667
|
+
ctrl.isToastPanelShown = false;
|
|
11668
|
+
ctrl.panelState = null;
|
|
11669
|
+
if (lodash.isFunction(ctrl.onClose)) {
|
|
11670
|
+
ctrl.onClose();
|
|
11671
|
+
}
|
|
11672
|
+
$timeout(function () {
|
|
11673
|
+
$rootScope.$broadcast('igzWatchWindowResize::resize');
|
|
11674
|
+
});
|
|
11675
|
+
}
|
|
11676
|
+
|
|
11677
|
+
/**
|
|
11678
|
+
* Gets current state
|
|
11679
|
+
* @returns {?string} (e.g. "in-progress", "succeeded", "failed")
|
|
11680
|
+
*/
|
|
11681
|
+
function getState() {
|
|
11682
|
+
return ctrl.panelState;
|
|
11683
|
+
}
|
|
11684
|
+
|
|
11685
|
+
/**
|
|
11686
|
+
* Gets status message of given state
|
|
11687
|
+
* @param {string} state (e.g. "in-progress", "succeeded", "failed")
|
|
11688
|
+
* @returns {string}
|
|
11689
|
+
*/
|
|
11690
|
+
function getStateMessage(state) {
|
|
11691
|
+
return lodash.get(ctrl, ['panelMessages', state]);
|
|
11692
|
+
}
|
|
11693
|
+
}
|
|
11694
|
+
})();
|
|
11695
|
+
"use strict";
|
|
11696
|
+
|
|
11697
|
+
/*
|
|
11698
|
+
Copyright 2018 Iguazio Systems Ltd.
|
|
11699
|
+
Licensed under the Apache License, Version 2.0 (the "License") with
|
|
11700
|
+
an addition restriction as set forth herein. You may not use this
|
|
11701
|
+
file except in compliance with the License. You may obtain a copy of
|
|
11702
|
+
the License at http://www.apache.org/licenses/LICENSE-2.0.
|
|
11703
|
+
Unless required by applicable law or agreed to in writing, software
|
|
11704
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
11705
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
|
11706
|
+
implied. See the License for the specific language governing
|
|
11707
|
+
permissions and limitations under the License.
|
|
11708
|
+
In addition, you may not use the software for any purposes that are
|
|
11709
|
+
illegal under applicable law, and the grant of the foregoing license
|
|
11710
|
+
under the Apache 2.0 license is conditioned upon your compliance with
|
|
11711
|
+
such restriction.
|
|
11712
|
+
*/
|
|
11713
|
+
(function () {
|
|
11714
|
+
'use strict';
|
|
11715
|
+
|
|
11716
|
+
IgzActionItemMore.$inject = ["$element", "$document", "$scope"];
|
|
11717
|
+
angular.module('iguazio.dashboard-controls').component('igzActionItemMore', {
|
|
11718
|
+
bindings: {
|
|
11719
|
+
actions: '<?',
|
|
11720
|
+
onFilesDropped: '<?'
|
|
11721
|
+
},
|
|
11722
|
+
templateUrl: 'igz_controls/components/action-item/action-item-more/action-item-more.tpl.html',
|
|
11723
|
+
controller: IgzActionItemMore,
|
|
11724
|
+
transclude: true
|
|
11725
|
+
});
|
|
11726
|
+
function IgzActionItemMore($element, $document, $scope) {
|
|
11727
|
+
var ctrl = this;
|
|
11728
|
+
ctrl.isDropdownShown = false;
|
|
11729
|
+
ctrl.toggleTemplate = toggleTemplate;
|
|
11730
|
+
|
|
11731
|
+
//
|
|
11732
|
+
// Public methods
|
|
11733
|
+
//
|
|
11734
|
+
|
|
11735
|
+
/**
|
|
11736
|
+
* Shows/hides sub-template
|
|
11731
11737
|
*/
|
|
11732
11738
|
function toggleTemplate() {
|
|
11733
11739
|
ctrl.isDropdownShown = !ctrl.isDropdownShown;
|
|
@@ -11884,6 +11890,135 @@ such restriction.
|
|
|
11884
11890
|
})();
|
|
11885
11891
|
"use strict";
|
|
11886
11892
|
|
|
11893
|
+
/*
|
|
11894
|
+
Copyright 2018 Iguazio Systems Ltd.
|
|
11895
|
+
Licensed under the Apache License, Version 2.0 (the "License") with
|
|
11896
|
+
an addition restriction as set forth herein. You may not use this
|
|
11897
|
+
file except in compliance with the License. You may obtain a copy of
|
|
11898
|
+
the License at http://www.apache.org/licenses/LICENSE-2.0.
|
|
11899
|
+
Unless required by applicable law or agreed to in writing, software
|
|
11900
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
11901
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
|
11902
|
+
implied. See the License for the specific language governing
|
|
11903
|
+
permissions and limitations under the License.
|
|
11904
|
+
In addition, you may not use the software for any purposes that are
|
|
11905
|
+
illegal under applicable law, and the grant of the foregoing license
|
|
11906
|
+
under the Apache 2.0 license is conditioned upon your compliance with
|
|
11907
|
+
such restriction.
|
|
11908
|
+
*/
|
|
11909
|
+
(function () {
|
|
11910
|
+
'use strict';
|
|
11911
|
+
|
|
11912
|
+
IgzInfoPageContentController.$inject = ["$scope", "$timeout", "$window", "$element"];
|
|
11913
|
+
angular.module('iguazio.dashboard-controls').component('igzInfoPageContent', {
|
|
11914
|
+
bindings: {
|
|
11915
|
+
scrolled: '<',
|
|
11916
|
+
watchId: '@?'
|
|
11917
|
+
},
|
|
11918
|
+
templateUrl: 'igz_controls/components/info-page/info-page-content/info-page-content.tpl.html',
|
|
11919
|
+
transclude: true,
|
|
11920
|
+
controller: IgzInfoPageContentController
|
|
11921
|
+
});
|
|
11922
|
+
function IgzInfoPageContentController($scope, $timeout, $window, $element) {
|
|
11923
|
+
var ctrl = this;
|
|
11924
|
+
ctrl.isFiltersShowed = false;
|
|
11925
|
+
ctrl.isInfoPaneShowed = false;
|
|
11926
|
+
|
|
11927
|
+
// Config for horizontal scrollbar on containers view
|
|
11928
|
+
ctrl.scrollConfigHorizontal = {
|
|
11929
|
+
axis: 'x',
|
|
11930
|
+
scrollInertia: 0
|
|
11931
|
+
};
|
|
11932
|
+
ctrl.$onInit = onInit;
|
|
11933
|
+
ctrl.$postLink = postLink;
|
|
11934
|
+
|
|
11935
|
+
//
|
|
11936
|
+
// Hook methods
|
|
11937
|
+
//
|
|
11938
|
+
|
|
11939
|
+
/**
|
|
11940
|
+
* Init method
|
|
11941
|
+
*/
|
|
11942
|
+
function onInit() {
|
|
11943
|
+
var watchId = angular.isDefined(ctrl.watchId) ? '-' + ctrl.watchId : '';
|
|
11944
|
+
$scope.$on('info-page-upper-pane_toggle-start' + watchId, onUpperPaneToggleStart);
|
|
11945
|
+
$scope.$on('info-page-filters_toggle-start' + watchId, onFiltersPaneToggleStart);
|
|
11946
|
+
$scope.$on('info-page-pane_toggle-start' + watchId, onInfoPaneToggleStart);
|
|
11947
|
+
$scope.$on('info-page-pane_toggled', dispatchResize);
|
|
11948
|
+
}
|
|
11949
|
+
|
|
11950
|
+
/**
|
|
11951
|
+
* Post linking method
|
|
11952
|
+
*/
|
|
11953
|
+
function postLink() {
|
|
11954
|
+
$timeout(function () {
|
|
11955
|
+
manageHorizontalScroll();
|
|
11956
|
+
$scope.$on('info-page-filters_toggled', manageHorizontalScroll);
|
|
11957
|
+
$scope.$on('info-page-pane_toggled', manageHorizontalScroll);
|
|
11958
|
+
$scope.$on('igzWatchWindowResize::resize', manageHorizontalScroll);
|
|
11959
|
+
});
|
|
11960
|
+
}
|
|
11961
|
+
|
|
11962
|
+
//
|
|
11963
|
+
// Private methods
|
|
11964
|
+
//
|
|
11965
|
+
|
|
11966
|
+
/**
|
|
11967
|
+
* Manages x-scrollbar behavior
|
|
11968
|
+
* Needed to get rid of accidental wrong content width calculations made by 'ng-scrollbars' library
|
|
11969
|
+
* We just control x-scrollbar with lib's native enable/disable methods
|
|
11970
|
+
*/
|
|
11971
|
+
function manageHorizontalScroll() {
|
|
11972
|
+
var $scrollXContainer = $element.find('.igz-scrollable-container.horizontal').first();
|
|
11973
|
+
var contentWrapperWidth = $element.find('.igz-info-page-content-wrapper').first().width();
|
|
11974
|
+
var contentMinWidth = parseInt($element.find('.igz-info-page-content').css('min-width'));
|
|
11975
|
+
if ($scrollXContainer.length && contentWrapperWidth < (contentMinWidth || 946)) {
|
|
11976
|
+
$scrollXContainer.mCustomScrollbar('update');
|
|
11977
|
+
} else if ($scrollXContainer.length) {
|
|
11978
|
+
$scrollXContainer.mCustomScrollbar('disable', true);
|
|
11979
|
+
$element.find('.mCSB_container').first().width('100%');
|
|
11980
|
+
}
|
|
11981
|
+
}
|
|
11982
|
+
|
|
11983
|
+
/**
|
|
11984
|
+
* Upper pane toggle start $broadcast listener
|
|
11985
|
+
* @param {Object} e - broadcast event
|
|
11986
|
+
* @param {boolean} isShown - represents upper pane state
|
|
11987
|
+
*/
|
|
11988
|
+
function onUpperPaneToggleStart(e, isShown) {
|
|
11989
|
+
ctrl.isUpperPaneShowed = isShown;
|
|
11990
|
+
}
|
|
11991
|
+
|
|
11992
|
+
/**
|
|
11993
|
+
* Filters pane toggle start $broadcast listener
|
|
11994
|
+
* @param {Object} e - broadcast event
|
|
11995
|
+
* @param {boolean} isShown - represents filters pane state
|
|
11996
|
+
*/
|
|
11997
|
+
function onFiltersPaneToggleStart(e, isShown) {
|
|
11998
|
+
ctrl.isFiltersShowed = isShown;
|
|
11999
|
+
}
|
|
12000
|
+
|
|
12001
|
+
/**
|
|
12002
|
+
* Info pane toggle start $broadcast listener
|
|
12003
|
+
* @param {Object} e - broadcast event
|
|
12004
|
+
* @param {boolean} isShown - represents info pane state
|
|
12005
|
+
*/
|
|
12006
|
+
function onInfoPaneToggleStart(e, isShown) {
|
|
12007
|
+
ctrl.isInfoPaneShowed = isShown;
|
|
12008
|
+
}
|
|
12009
|
+
|
|
12010
|
+
/**
|
|
12011
|
+
* Updates Ui-Layout library's containers size
|
|
12012
|
+
*/
|
|
12013
|
+
function dispatchResize() {
|
|
12014
|
+
$timeout(function () {
|
|
12015
|
+
$window.dispatchEvent(new Event('resize'));
|
|
12016
|
+
}, 0);
|
|
12017
|
+
}
|
|
12018
|
+
}
|
|
12019
|
+
})();
|
|
12020
|
+
"use strict";
|
|
12021
|
+
|
|
11887
12022
|
/*
|
|
11888
12023
|
Copyright 2018 Iguazio Systems Ltd.
|
|
11889
12024
|
Licensed under the Apache License, Version 2.0 (the "License") with
|
|
@@ -11906,6 +12041,7 @@ such restriction.
|
|
|
11906
12041
|
IgzInfoPageFiltersController.$inject = ["$rootScope", "$scope", "$animate", "$element", "EventHelperService"];
|
|
11907
12042
|
angular.module('iguazio.dashboard-controls').component('igzInfoPageFilters', {
|
|
11908
12043
|
bindings: {
|
|
12044
|
+
applyIsDisabled: '<?',
|
|
11909
12045
|
isDisabled: '<?',
|
|
11910
12046
|
isFiltersShowed: '<',
|
|
11911
12047
|
changeStateCallback: '&',
|
|
@@ -12117,149 +12253,20 @@ such restriction.
|
|
|
12117
12253
|
(function () {
|
|
12118
12254
|
'use strict';
|
|
12119
12255
|
|
|
12120
|
-
|
|
12121
|
-
|
|
12122
|
-
|
|
12123
|
-
|
|
12124
|
-
|
|
12125
|
-
|
|
12126
|
-
|
|
12127
|
-
|
|
12128
|
-
|
|
12129
|
-
});
|
|
12130
|
-
function IgzInfoPageContentController($scope, $timeout, $window, $element) {
|
|
12131
|
-
var ctrl = this;
|
|
12132
|
-
ctrl.isFiltersShowed = false;
|
|
12133
|
-
ctrl.isInfoPaneShowed = false;
|
|
12134
|
-
|
|
12135
|
-
// Config for horizontal scrollbar on containers view
|
|
12136
|
-
ctrl.scrollConfigHorizontal = {
|
|
12137
|
-
axis: 'x',
|
|
12138
|
-
scrollInertia: 0
|
|
12256
|
+
/**
|
|
12257
|
+
* Extend white background to the bottom of the view port
|
|
12258
|
+
*/
|
|
12259
|
+
igzExtendBackground.$inject = ["$timeout"];
|
|
12260
|
+
angular.module('iguazio.dashboard-controls').directive('igzExtendBackground', igzExtendBackground);
|
|
12261
|
+
function igzExtendBackground($timeout) {
|
|
12262
|
+
return {
|
|
12263
|
+
restrict: 'A',
|
|
12264
|
+
link: link
|
|
12139
12265
|
};
|
|
12140
|
-
|
|
12141
|
-
|
|
12142
|
-
|
|
12143
|
-
|
|
12144
|
-
// Hook methods
|
|
12145
|
-
//
|
|
12146
|
-
|
|
12147
|
-
/**
|
|
12148
|
-
* Init method
|
|
12149
|
-
*/
|
|
12150
|
-
function onInit() {
|
|
12151
|
-
var watchId = angular.isDefined(ctrl.watchId) ? '-' + ctrl.watchId : '';
|
|
12152
|
-
$scope.$on('info-page-upper-pane_toggle-start' + watchId, onUpperPaneToggleStart);
|
|
12153
|
-
$scope.$on('info-page-filters_toggle-start' + watchId, onFiltersPaneToggleStart);
|
|
12154
|
-
$scope.$on('info-page-pane_toggle-start' + watchId, onInfoPaneToggleStart);
|
|
12155
|
-
$scope.$on('info-page-pane_toggled', dispatchResize);
|
|
12156
|
-
}
|
|
12157
|
-
|
|
12158
|
-
/**
|
|
12159
|
-
* Post linking method
|
|
12160
|
-
*/
|
|
12161
|
-
function postLink() {
|
|
12162
|
-
$timeout(function () {
|
|
12163
|
-
manageHorizontalScroll();
|
|
12164
|
-
$scope.$on('info-page-filters_toggled', manageHorizontalScroll);
|
|
12165
|
-
$scope.$on('info-page-pane_toggled', manageHorizontalScroll);
|
|
12166
|
-
$scope.$on('igzWatchWindowResize::resize', manageHorizontalScroll);
|
|
12167
|
-
});
|
|
12168
|
-
}
|
|
12169
|
-
|
|
12170
|
-
//
|
|
12171
|
-
// Private methods
|
|
12172
|
-
//
|
|
12173
|
-
|
|
12174
|
-
/**
|
|
12175
|
-
* Manages x-scrollbar behavior
|
|
12176
|
-
* Needed to get rid of accidental wrong content width calculations made by 'ng-scrollbars' library
|
|
12177
|
-
* We just control x-scrollbar with lib's native enable/disable methods
|
|
12178
|
-
*/
|
|
12179
|
-
function manageHorizontalScroll() {
|
|
12180
|
-
var $scrollXContainer = $element.find('.igz-scrollable-container.horizontal').first();
|
|
12181
|
-
var contentWrapperWidth = $element.find('.igz-info-page-content-wrapper').first().width();
|
|
12182
|
-
var contentMinWidth = parseInt($element.find('.igz-info-page-content').css('min-width'));
|
|
12183
|
-
if ($scrollXContainer.length && contentWrapperWidth < (contentMinWidth || 946)) {
|
|
12184
|
-
$scrollXContainer.mCustomScrollbar('update');
|
|
12185
|
-
} else if ($scrollXContainer.length) {
|
|
12186
|
-
$scrollXContainer.mCustomScrollbar('disable', true);
|
|
12187
|
-
$element.find('.mCSB_container').first().width('100%');
|
|
12188
|
-
}
|
|
12189
|
-
}
|
|
12190
|
-
|
|
12191
|
-
/**
|
|
12192
|
-
* Upper pane toggle start $broadcast listener
|
|
12193
|
-
* @param {Object} e - broadcast event
|
|
12194
|
-
* @param {boolean} isShown - represents upper pane state
|
|
12195
|
-
*/
|
|
12196
|
-
function onUpperPaneToggleStart(e, isShown) {
|
|
12197
|
-
ctrl.isUpperPaneShowed = isShown;
|
|
12198
|
-
}
|
|
12199
|
-
|
|
12200
|
-
/**
|
|
12201
|
-
* Filters pane toggle start $broadcast listener
|
|
12202
|
-
* @param {Object} e - broadcast event
|
|
12203
|
-
* @param {boolean} isShown - represents filters pane state
|
|
12204
|
-
*/
|
|
12205
|
-
function onFiltersPaneToggleStart(e, isShown) {
|
|
12206
|
-
ctrl.isFiltersShowed = isShown;
|
|
12207
|
-
}
|
|
12208
|
-
|
|
12209
|
-
/**
|
|
12210
|
-
* Info pane toggle start $broadcast listener
|
|
12211
|
-
* @param {Object} e - broadcast event
|
|
12212
|
-
* @param {boolean} isShown - represents info pane state
|
|
12213
|
-
*/
|
|
12214
|
-
function onInfoPaneToggleStart(e, isShown) {
|
|
12215
|
-
ctrl.isInfoPaneShowed = isShown;
|
|
12216
|
-
}
|
|
12217
|
-
|
|
12218
|
-
/**
|
|
12219
|
-
* Updates Ui-Layout library's containers size
|
|
12220
|
-
*/
|
|
12221
|
-
function dispatchResize() {
|
|
12222
|
-
$timeout(function () {
|
|
12223
|
-
$window.dispatchEvent(new Event('resize'));
|
|
12224
|
-
}, 0);
|
|
12225
|
-
}
|
|
12226
|
-
}
|
|
12227
|
-
})();
|
|
12228
|
-
"use strict";
|
|
12229
|
-
|
|
12230
|
-
/*
|
|
12231
|
-
Copyright 2018 Iguazio Systems Ltd.
|
|
12232
|
-
Licensed under the Apache License, Version 2.0 (the "License") with
|
|
12233
|
-
an addition restriction as set forth herein. You may not use this
|
|
12234
|
-
file except in compliance with the License. You may obtain a copy of
|
|
12235
|
-
the License at http://www.apache.org/licenses/LICENSE-2.0.
|
|
12236
|
-
Unless required by applicable law or agreed to in writing, software
|
|
12237
|
-
distributed under the License is distributed on an "AS IS" BASIS,
|
|
12238
|
-
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
|
12239
|
-
implied. See the License for the specific language governing
|
|
12240
|
-
permissions and limitations under the License.
|
|
12241
|
-
In addition, you may not use the software for any purposes that are
|
|
12242
|
-
illegal under applicable law, and the grant of the foregoing license
|
|
12243
|
-
under the Apache 2.0 license is conditioned upon your compliance with
|
|
12244
|
-
such restriction.
|
|
12245
|
-
*/
|
|
12246
|
-
(function () {
|
|
12247
|
-
'use strict';
|
|
12248
|
-
|
|
12249
|
-
/**
|
|
12250
|
-
* Extend white background to the bottom of the view port
|
|
12251
|
-
*/
|
|
12252
|
-
igzExtendBackground.$inject = ["$timeout"];
|
|
12253
|
-
angular.module('iguazio.dashboard-controls').directive('igzExtendBackground', igzExtendBackground);
|
|
12254
|
-
function igzExtendBackground($timeout) {
|
|
12255
|
-
return {
|
|
12256
|
-
restrict: 'A',
|
|
12257
|
-
link: link
|
|
12258
|
-
};
|
|
12259
|
-
function link(scope, element, attrs) {
|
|
12260
|
-
var timeout = 0;
|
|
12261
|
-
var containerPath = 'body';
|
|
12262
|
-
activate();
|
|
12266
|
+
function link(scope, element, attrs) {
|
|
12267
|
+
var timeout = 0;
|
|
12268
|
+
var containerPath = 'body';
|
|
12269
|
+
activate();
|
|
12263
12270
|
|
|
12264
12271
|
//
|
|
12265
12272
|
// Private methods
|
|
@@ -12469,6 +12476,94 @@ such restriction.
|
|
|
12469
12476
|
})();
|
|
12470
12477
|
"use strict";
|
|
12471
12478
|
|
|
12479
|
+
/*
|
|
12480
|
+
Copyright 2018 Iguazio Systems Ltd.
|
|
12481
|
+
Licensed under the Apache License, Version 2.0 (the "License") with
|
|
12482
|
+
an addition restriction as set forth herein. You may not use this
|
|
12483
|
+
file except in compliance with the License. You may obtain a copy of
|
|
12484
|
+
the License at http://www.apache.org/licenses/LICENSE-2.0.
|
|
12485
|
+
Unless required by applicable law or agreed to in writing, software
|
|
12486
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
12487
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
|
12488
|
+
implied. See the License for the specific language governing
|
|
12489
|
+
permissions and limitations under the License.
|
|
12490
|
+
In addition, you may not use the software for any purposes that are
|
|
12491
|
+
illegal under applicable law, and the grant of the foregoing license
|
|
12492
|
+
under the Apache 2.0 license is conditioned upon your compliance with
|
|
12493
|
+
such restriction.
|
|
12494
|
+
*/
|
|
12495
|
+
(function () {
|
|
12496
|
+
'use strict';
|
|
12497
|
+
|
|
12498
|
+
NclTestEventsNavigationTabsController.$inject = ["$i18next", "i18next"];
|
|
12499
|
+
angular.module('iguazio.dashboard-controls').component('nclTestEventsNavigationTabs', {
|
|
12500
|
+
bindings: {
|
|
12501
|
+
activeTab: '<',
|
|
12502
|
+
tabItems: '<',
|
|
12503
|
+
selectedLogLevel: '<?',
|
|
12504
|
+
onChangeActiveTab: '&',
|
|
12505
|
+
onChangeLogLevel: '&?'
|
|
12506
|
+
},
|
|
12507
|
+
templateUrl: 'nuclio/functions/version/version-code/function-event-pane/test-events-navigation-tabs/test-events-navigation-tabs.tpl.html',
|
|
12508
|
+
controller: NclTestEventsNavigationTabsController
|
|
12509
|
+
});
|
|
12510
|
+
function NclTestEventsNavigationTabsController($i18next, i18next) {
|
|
12511
|
+
var ctrl = this;
|
|
12512
|
+
var lng = i18next.language;
|
|
12513
|
+
ctrl.logLevelValues = [{
|
|
12514
|
+
id: 'error',
|
|
12515
|
+
name: $i18next.t('common:ERROR', {
|
|
12516
|
+
lng: lng
|
|
12517
|
+
}),
|
|
12518
|
+
visible: true
|
|
12519
|
+
}, {
|
|
12520
|
+
id: 'warn',
|
|
12521
|
+
name: $i18next.t('common:WARNING', {
|
|
12522
|
+
lng: lng
|
|
12523
|
+
}),
|
|
12524
|
+
visible: true
|
|
12525
|
+
}, {
|
|
12526
|
+
id: 'info',
|
|
12527
|
+
name: $i18next.t('common:INFO', {
|
|
12528
|
+
lng: lng
|
|
12529
|
+
}),
|
|
12530
|
+
visible: true
|
|
12531
|
+
}, {
|
|
12532
|
+
id: 'debug',
|
|
12533
|
+
name: $i18next.t('common:DEBUG', {
|
|
12534
|
+
lng: lng
|
|
12535
|
+
}),
|
|
12536
|
+
visible: true
|
|
12537
|
+
}];
|
|
12538
|
+
ctrl.changeActiveTab = changeActiveTab;
|
|
12539
|
+
ctrl.isActiveTab = isActiveTab;
|
|
12540
|
+
|
|
12541
|
+
//
|
|
12542
|
+
// Public methods
|
|
12543
|
+
//
|
|
12544
|
+
|
|
12545
|
+
/**
|
|
12546
|
+
* Changes active nav tab
|
|
12547
|
+
* @param {Object} item - current status
|
|
12548
|
+
*/
|
|
12549
|
+
function changeActiveTab(item) {
|
|
12550
|
+
ctrl.activeTab = item;
|
|
12551
|
+
ctrl.onChangeActiveTab({
|
|
12552
|
+
activeTab: item
|
|
12553
|
+
});
|
|
12554
|
+
}
|
|
12555
|
+
|
|
12556
|
+
/**
|
|
12557
|
+
* Checks if it is an active tab
|
|
12558
|
+
* @param {Object} item - current tab
|
|
12559
|
+
*/
|
|
12560
|
+
function isActiveTab(item) {
|
|
12561
|
+
return ctrl.activeTab.id === item.id;
|
|
12562
|
+
}
|
|
12563
|
+
}
|
|
12564
|
+
})();
|
|
12565
|
+
"use strict";
|
|
12566
|
+
|
|
12472
12567
|
/*
|
|
12473
12568
|
Copyright 2018 Iguazio Systems Ltd.
|
|
12474
12569
|
Licensed under the Apache License, Version 2.0 (the "License") with
|
|
@@ -12591,126 +12686,38 @@ such restriction.
|
|
|
12591
12686
|
(function () {
|
|
12592
12687
|
'use strict';
|
|
12593
12688
|
|
|
12594
|
-
|
|
12595
|
-
angular.module('iguazio.dashboard-controls').component('
|
|
12689
|
+
NclVersionConfigurationAnnotationsController.$inject = ["$element", "$i18next", "$rootScope", "$timeout", "i18next", "lodash", "FormValidationService", "PreventDropdownCutOffService", "ValidationService"];
|
|
12690
|
+
angular.module('iguazio.dashboard-controls').component('nclVersionConfigurationAnnotations', {
|
|
12596
12691
|
bindings: {
|
|
12597
|
-
|
|
12598
|
-
|
|
12599
|
-
|
|
12600
|
-
onChangeActiveTab: '&',
|
|
12601
|
-
onChangeLogLevel: '&?'
|
|
12692
|
+
version: '<',
|
|
12693
|
+
onChangeCallback: '<',
|
|
12694
|
+
isFunctionDeploying: '&'
|
|
12602
12695
|
},
|
|
12603
|
-
templateUrl: 'nuclio/functions/version/version-
|
|
12604
|
-
controller:
|
|
12696
|
+
templateUrl: 'nuclio/functions/version/version-configuration/tabs/version-configuration-annotations/version-configuration-annotations.tpl.html',
|
|
12697
|
+
controller: NclVersionConfigurationAnnotationsController
|
|
12605
12698
|
});
|
|
12606
|
-
function
|
|
12699
|
+
function NclVersionConfigurationAnnotationsController($element, $i18next, $rootScope, $timeout, i18next, lodash, FormValidationService, PreventDropdownCutOffService, ValidationService) {
|
|
12607
12700
|
var ctrl = this;
|
|
12608
12701
|
var lng = i18next.language;
|
|
12609
|
-
ctrl.
|
|
12610
|
-
|
|
12611
|
-
|
|
12612
|
-
|
|
12613
|
-
|
|
12614
|
-
|
|
12615
|
-
|
|
12616
|
-
|
|
12617
|
-
|
|
12618
|
-
|
|
12619
|
-
|
|
12620
|
-
|
|
12621
|
-
|
|
12622
|
-
|
|
12623
|
-
|
|
12624
|
-
|
|
12625
|
-
|
|
12626
|
-
|
|
12627
|
-
|
|
12628
|
-
id: 'debug',
|
|
12629
|
-
name: $i18next.t('common:DEBUG', {
|
|
12630
|
-
lng: lng
|
|
12631
|
-
}),
|
|
12632
|
-
visible: true
|
|
12633
|
-
}];
|
|
12634
|
-
ctrl.changeActiveTab = changeActiveTab;
|
|
12635
|
-
ctrl.isActiveTab = isActiveTab;
|
|
12636
|
-
|
|
12637
|
-
//
|
|
12638
|
-
// Public methods
|
|
12639
|
-
//
|
|
12640
|
-
|
|
12641
|
-
/**
|
|
12642
|
-
* Changes active nav tab
|
|
12643
|
-
* @param {Object} item - current status
|
|
12644
|
-
*/
|
|
12645
|
-
function changeActiveTab(item) {
|
|
12646
|
-
ctrl.activeTab = item;
|
|
12647
|
-
ctrl.onChangeActiveTab({
|
|
12648
|
-
activeTab: item
|
|
12649
|
-
});
|
|
12650
|
-
}
|
|
12651
|
-
|
|
12652
|
-
/**
|
|
12653
|
-
* Checks if it is an active tab
|
|
12654
|
-
* @param {Object} item - current tab
|
|
12655
|
-
*/
|
|
12656
|
-
function isActiveTab(item) {
|
|
12657
|
-
return ctrl.activeTab.id === item.id;
|
|
12658
|
-
}
|
|
12659
|
-
}
|
|
12660
|
-
})();
|
|
12661
|
-
"use strict";
|
|
12662
|
-
|
|
12663
|
-
/*
|
|
12664
|
-
Copyright 2018 Iguazio Systems Ltd.
|
|
12665
|
-
Licensed under the Apache License, Version 2.0 (the "License") with
|
|
12666
|
-
an addition restriction as set forth herein. You may not use this
|
|
12667
|
-
file except in compliance with the License. You may obtain a copy of
|
|
12668
|
-
the License at http://www.apache.org/licenses/LICENSE-2.0.
|
|
12669
|
-
Unless required by applicable law or agreed to in writing, software
|
|
12670
|
-
distributed under the License is distributed on an "AS IS" BASIS,
|
|
12671
|
-
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
|
12672
|
-
implied. See the License for the specific language governing
|
|
12673
|
-
permissions and limitations under the License.
|
|
12674
|
-
In addition, you may not use the software for any purposes that are
|
|
12675
|
-
illegal under applicable law, and the grant of the foregoing license
|
|
12676
|
-
under the Apache 2.0 license is conditioned upon your compliance with
|
|
12677
|
-
such restriction.
|
|
12678
|
-
*/
|
|
12679
|
-
(function () {
|
|
12680
|
-
'use strict';
|
|
12681
|
-
|
|
12682
|
-
NclVersionConfigurationAnnotationsController.$inject = ["$element", "$i18next", "$rootScope", "$timeout", "i18next", "lodash", "FormValidationService", "PreventDropdownCutOffService", "ValidationService"];
|
|
12683
|
-
angular.module('iguazio.dashboard-controls').component('nclVersionConfigurationAnnotations', {
|
|
12684
|
-
bindings: {
|
|
12685
|
-
version: '<',
|
|
12686
|
-
onChangeCallback: '<',
|
|
12687
|
-
isFunctionDeploying: '&'
|
|
12688
|
-
},
|
|
12689
|
-
templateUrl: 'nuclio/functions/version/version-configuration/tabs/version-configuration-annotations/version-configuration-annotations.tpl.html',
|
|
12690
|
-
controller: NclVersionConfigurationAnnotationsController
|
|
12691
|
-
});
|
|
12692
|
-
function NclVersionConfigurationAnnotationsController($element, $i18next, $rootScope, $timeout, i18next, lodash, FormValidationService, PreventDropdownCutOffService, ValidationService) {
|
|
12693
|
-
var ctrl = this;
|
|
12694
|
-
var lng = i18next.language;
|
|
12695
|
-
ctrl.annotationsForm = null;
|
|
12696
|
-
ctrl.igzScrollConfig = {
|
|
12697
|
-
maxElementsCount: 10,
|
|
12698
|
-
childrenSelector: '.table-body'
|
|
12699
|
-
};
|
|
12700
|
-
ctrl.scrollConfig = {
|
|
12701
|
-
axis: 'y',
|
|
12702
|
-
advanced: {
|
|
12703
|
-
updateOnContentResize: true
|
|
12704
|
-
}
|
|
12705
|
-
};
|
|
12706
|
-
ctrl.tooltip = '<a class="link" target="_blank" ' + 'href="https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/">' + $i18next.t('functions:TOOLTIP.ANNOTATIONS.HEAD', {
|
|
12707
|
-
lng: lng
|
|
12708
|
-
}) + '</a> ' + $i18next.t('functions:TOOLTIP.ANNOTATIONS.REST', {
|
|
12709
|
-
lng: lng
|
|
12710
|
-
});
|
|
12711
|
-
ctrl.keyTooltip = $i18next.t('functions:TOOLTIP.PREFIXED_NAME', {
|
|
12712
|
-
lng: lng,
|
|
12713
|
-
name: $i18next.t('functions:TOOLTIP.ANNOTATION', {
|
|
12702
|
+
ctrl.annotationsForm = null;
|
|
12703
|
+
ctrl.igzScrollConfig = {
|
|
12704
|
+
maxElementsCount: 10,
|
|
12705
|
+
childrenSelector: '.table-body'
|
|
12706
|
+
};
|
|
12707
|
+
ctrl.scrollConfig = {
|
|
12708
|
+
axis: 'y',
|
|
12709
|
+
advanced: {
|
|
12710
|
+
updateOnContentResize: true
|
|
12711
|
+
}
|
|
12712
|
+
};
|
|
12713
|
+
ctrl.tooltip = '<a class="link" target="_blank" ' + 'href="https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/">' + $i18next.t('functions:TOOLTIP.ANNOTATIONS.HEAD', {
|
|
12714
|
+
lng: lng
|
|
12715
|
+
}) + '</a> ' + $i18next.t('functions:TOOLTIP.ANNOTATIONS.REST', {
|
|
12716
|
+
lng: lng
|
|
12717
|
+
});
|
|
12718
|
+
ctrl.keyTooltip = $i18next.t('functions:TOOLTIP.PREFIXED_NAME', {
|
|
12719
|
+
lng: lng,
|
|
12720
|
+
name: $i18next.t('functions:TOOLTIP.ANNOTATION', {
|
|
12714
12721
|
lng: lng
|
|
12715
12722
|
})
|
|
12716
12723
|
});
|
|
@@ -18362,66 +18369,324 @@ such restriction.
|
|
|
18362
18369
|
},
|
|
18363
18370
|
percentage: 0
|
|
18364
18371
|
};
|
|
18365
|
-
ctrl.apiGateway.spec.upstreams.push(ctrl.primaryUpstream);
|
|
18366
|
-
}
|
|
18367
|
-
if (!ctrl.editWizard) {
|
|
18368
|
-
ApiGatewaysService.buildIngressHost(ctrl.apiGateway, ctrl.project);
|
|
18369
|
-
}
|
|
18370
|
-
ctrl.apiGatewayCopy = angular.copy(ctrl.apiGateway);
|
|
18371
|
-
initActions();
|
|
18372
|
-
}
|
|
18373
|
-
|
|
18374
|
-
/**
|
|
18375
|
-
* Populates the function list by fetching it from backend.
|
|
18376
|
-
* If fetch fails, shows a message to the user about the failure and retries fetch until successful.
|
|
18377
|
-
*/
|
|
18378
|
-
function populateFunctionList() {
|
|
18379
|
-
ctrl.getFunctions({
|
|
18380
|
-
projectName: ctrl.project.metadata.name,
|
|
18381
|
-
enrichApiGateways: true
|
|
18382
|
-
}).then(function (data) {
|
|
18383
|
-
functionsList = data;
|
|
18384
|
-
ctrl.functionFetchPanel.state = null; // hide toast panel
|
|
18385
|
-
})["catch"](function () {
|
|
18386
|
-
ctrl.functionFetchPanel.state = 'failed'; // show toast panel with failure style
|
|
18387
|
-
$timeout(populateFunctionList, FUNCTION_LIST_FETCH_POLL_DELAY);
|
|
18388
|
-
});
|
|
18389
|
-
}
|
|
18390
|
-
|
|
18391
|
-
/**
|
|
18392
|
-
* Promotes canary function to primary and removes old primary function
|
|
18393
|
-
*/
|
|
18394
|
-
function promoteCanaryFunction() {
|
|
18395
|
-
DialogsService.confirm($i18next.t('functions:PROMOTE_CANARY_CONFIRM', {
|
|
18396
|
-
lng: lng
|
|
18397
|
-
}), $i18next.t('functions:PROMOTE', {
|
|
18398
|
-
lng: lng
|
|
18399
|
-
})).then(function () {
|
|
18400
|
-
lodash.set(ctrl.canaryUpstream, 'percentage', 0);
|
|
18401
|
-
ctrl.primaryUpstream = ctrl.canaryUpstream;
|
|
18402
|
-
ctrl.canaryUpstream = null;
|
|
18403
|
-
lodash.set(ctrl.apiGateway, 'spec.upstreams', [ctrl.primaryUpstream]);
|
|
18404
|
-
$rootScope.$broadcast('wizard_changes-have-been-made', isChangesHaveBeenMade());
|
|
18372
|
+
ctrl.apiGateway.spec.upstreams.push(ctrl.primaryUpstream);
|
|
18373
|
+
}
|
|
18374
|
+
if (!ctrl.editWizard) {
|
|
18375
|
+
ApiGatewaysService.buildIngressHost(ctrl.apiGateway, ctrl.project);
|
|
18376
|
+
}
|
|
18377
|
+
ctrl.apiGatewayCopy = angular.copy(ctrl.apiGateway);
|
|
18378
|
+
initActions();
|
|
18379
|
+
}
|
|
18380
|
+
|
|
18381
|
+
/**
|
|
18382
|
+
* Populates the function list by fetching it from backend.
|
|
18383
|
+
* If fetch fails, shows a message to the user about the failure and retries fetch until successful.
|
|
18384
|
+
*/
|
|
18385
|
+
function populateFunctionList() {
|
|
18386
|
+
ctrl.getFunctions({
|
|
18387
|
+
projectName: ctrl.project.metadata.name,
|
|
18388
|
+
enrichApiGateways: true
|
|
18389
|
+
}).then(function (data) {
|
|
18390
|
+
functionsList = data;
|
|
18391
|
+
ctrl.functionFetchPanel.state = null; // hide toast panel
|
|
18392
|
+
})["catch"](function () {
|
|
18393
|
+
ctrl.functionFetchPanel.state = 'failed'; // show toast panel with failure style
|
|
18394
|
+
$timeout(populateFunctionList, FUNCTION_LIST_FETCH_POLL_DELAY);
|
|
18395
|
+
});
|
|
18396
|
+
}
|
|
18397
|
+
|
|
18398
|
+
/**
|
|
18399
|
+
* Promotes canary function to primary and removes old primary function
|
|
18400
|
+
*/
|
|
18401
|
+
function promoteCanaryFunction() {
|
|
18402
|
+
DialogsService.confirm($i18next.t('functions:PROMOTE_CANARY_CONFIRM', {
|
|
18403
|
+
lng: lng
|
|
18404
|
+
}), $i18next.t('functions:PROMOTE', {
|
|
18405
|
+
lng: lng
|
|
18406
|
+
})).then(function () {
|
|
18407
|
+
lodash.set(ctrl.canaryUpstream, 'percentage', 0);
|
|
18408
|
+
ctrl.primaryUpstream = ctrl.canaryUpstream;
|
|
18409
|
+
ctrl.canaryUpstream = null;
|
|
18410
|
+
lodash.set(ctrl.apiGateway, 'spec.upstreams', [ctrl.primaryUpstream]);
|
|
18411
|
+
$rootScope.$broadcast('wizard_changes-have-been-made', isChangesHaveBeenMade());
|
|
18412
|
+
});
|
|
18413
|
+
}
|
|
18414
|
+
|
|
18415
|
+
/**
|
|
18416
|
+
* Removes a canary function
|
|
18417
|
+
*/
|
|
18418
|
+
function removeCanaryFunction() {
|
|
18419
|
+
ctrl.canaryUpstream = null;
|
|
18420
|
+
lodash.set(ctrl.apiGateway, 'spec.upstreams', [ctrl.primaryUpstream]);
|
|
18421
|
+
$rootScope.$broadcast('wizard_changes-have-been-made', isChangesHaveBeenMade());
|
|
18422
|
+
}
|
|
18423
|
+
|
|
18424
|
+
/**
|
|
18425
|
+
* Updates function name
|
|
18426
|
+
* @param functionName {string} - the new data
|
|
18427
|
+
* @param upstream {string} - the name of the input
|
|
18428
|
+
*/
|
|
18429
|
+
function updateUpstreamFunctionName(functionName, upstream) {
|
|
18430
|
+
lodash.set(upstream, 'nucliofunction.name', functionName);
|
|
18431
|
+
$rootScope.$broadcast('wizard_changes-have-been-made', isChangesHaveBeenMade());
|
|
18432
|
+
}
|
|
18433
|
+
}
|
|
18434
|
+
})();
|
|
18435
|
+
"use strict";
|
|
18436
|
+
|
|
18437
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
18438
|
+
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."); }
|
|
18439
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
18440
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
18441
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
18442
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
18443
|
+
/*
|
|
18444
|
+
Copyright 2018 Iguazio Systems Ltd.
|
|
18445
|
+
Licensed under the Apache License, Version 2.0 (the "License") with
|
|
18446
|
+
an addition restriction as set forth herein. You may not use this
|
|
18447
|
+
file except in compliance with the License. You may obtain a copy of
|
|
18448
|
+
the License at http://www.apache.org/licenses/LICENSE-2.0.
|
|
18449
|
+
Unless required by applicable law or agreed to in writing, software
|
|
18450
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
18451
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
|
18452
|
+
implied. See the License for the specific language governing
|
|
18453
|
+
permissions and limitations under the License.
|
|
18454
|
+
In addition, you may not use the software for any purposes that are
|
|
18455
|
+
illegal under applicable law, and the grant of the foregoing license
|
|
18456
|
+
under the Apache 2.0 license is conditioned upon your compliance with
|
|
18457
|
+
such restriction.
|
|
18458
|
+
*/
|
|
18459
|
+
/*eslint complexity: ["error", 15]*/
|
|
18460
|
+
(function () {
|
|
18461
|
+
'use strict';
|
|
18462
|
+
|
|
18463
|
+
DuplicateFunctionDialogController.$inject = ["$state", "$i18next", "i18next", "lodash", "DialogsService", "EventHelperService", "ValidationService"];
|
|
18464
|
+
angular.module('iguazio.dashboard-controls').component('nclDuplicateFunctionDialog', {
|
|
18465
|
+
bindings: {
|
|
18466
|
+
closeDialog: '&',
|
|
18467
|
+
getFunction: '&',
|
|
18468
|
+
project: '<',
|
|
18469
|
+
version: '<'
|
|
18470
|
+
},
|
|
18471
|
+
templateUrl: 'nuclio/functions/duplicate-function-dialog/duplicate-function-dialog.tpl.html',
|
|
18472
|
+
controller: DuplicateFunctionDialogController
|
|
18473
|
+
});
|
|
18474
|
+
function DuplicateFunctionDialogController($state, $i18next, i18next, lodash, DialogsService, EventHelperService, ValidationService) {
|
|
18475
|
+
var ctrl = this;
|
|
18476
|
+
var lng = i18next.language;
|
|
18477
|
+
ctrl.duplicateFunctionForm = {};
|
|
18478
|
+
ctrl.duplicateInputFieldsData = [];
|
|
18479
|
+
ctrl.inputModelOptions = {
|
|
18480
|
+
debounce: {
|
|
18481
|
+
'default': 0
|
|
18482
|
+
}
|
|
18483
|
+
};
|
|
18484
|
+
ctrl.maxLengths = {
|
|
18485
|
+
functionName: ValidationService.getMaxLength('function.name')
|
|
18486
|
+
};
|
|
18487
|
+
ctrl.nameTakenError = false;
|
|
18488
|
+
ctrl.secretFieldsData = {};
|
|
18489
|
+
ctrl.validationRules = {
|
|
18490
|
+
functionName: ValidationService.getValidationRules('function.name')
|
|
18491
|
+
};
|
|
18492
|
+
ctrl.$onInit = onInit;
|
|
18493
|
+
ctrl.duplicateFunction = duplicateFunction;
|
|
18494
|
+
ctrl.inputValueCallback = inputValueCallback;
|
|
18495
|
+
ctrl.onClose = onClose;
|
|
18496
|
+
|
|
18497
|
+
//
|
|
18498
|
+
// Hook methods
|
|
18499
|
+
//
|
|
18500
|
+
|
|
18501
|
+
/**
|
|
18502
|
+
* Initialization method
|
|
18503
|
+
*/
|
|
18504
|
+
function onInit() {
|
|
18505
|
+
generateDuplicateInputFieldsData();
|
|
18506
|
+
}
|
|
18507
|
+
|
|
18508
|
+
//
|
|
18509
|
+
// Public methods
|
|
18510
|
+
//
|
|
18511
|
+
|
|
18512
|
+
/**
|
|
18513
|
+
* Duplicates selected function with a new name
|
|
18514
|
+
* @param {Object} event
|
|
18515
|
+
*/
|
|
18516
|
+
function duplicateFunction(event) {
|
|
18517
|
+
if (angular.isUndefined(event) || event.keyCode === EventHelperService.ENTER) {
|
|
18518
|
+
ctrl.nameTakenError = false;
|
|
18519
|
+
ctrl.duplicateFunctionForm.$setSubmitted();
|
|
18520
|
+
if (ctrl.duplicateFunctionForm.$valid) {
|
|
18521
|
+
var newFunction = lodash.pick(ctrl.version, 'spec');
|
|
18522
|
+
var projectId = lodash.get(ctrl.project, 'metadata.name');
|
|
18523
|
+
lodash.forEach(ctrl.secretFieldsData, function (value, path) {
|
|
18524
|
+
if (path === 'name') {
|
|
18525
|
+
lodash.set(newFunction, 'metadata.name', value);
|
|
18526
|
+
} else {
|
|
18527
|
+
lodash.set(newFunction, path, value);
|
|
18528
|
+
}
|
|
18529
|
+
});
|
|
18530
|
+
ctrl.getFunction({
|
|
18531
|
+
metadata: {
|
|
18532
|
+
name: ctrl.secretFieldsData.name
|
|
18533
|
+
}
|
|
18534
|
+
}).then(function () {
|
|
18535
|
+
DialogsService.alert($i18next.t('functions:ERROR_MSG.FUNCTION_NAME_ALREADY_IN_USE', {
|
|
18536
|
+
lng: lng
|
|
18537
|
+
}));
|
|
18538
|
+
})["catch"](function (error) {
|
|
18539
|
+
if (error.status === 404) {
|
|
18540
|
+
ctrl.closeDialog();
|
|
18541
|
+
$state.go('app.project.function.edit.code', {
|
|
18542
|
+
isNewFunction: true,
|
|
18543
|
+
id: ctrl.project.metadata.name,
|
|
18544
|
+
functionId: newFunction.metadata.name,
|
|
18545
|
+
projectId: projectId,
|
|
18546
|
+
projectNamespace: ctrl.project.metadata.namespace,
|
|
18547
|
+
functionData: newFunction
|
|
18548
|
+
});
|
|
18549
|
+
}
|
|
18550
|
+
});
|
|
18551
|
+
}
|
|
18552
|
+
}
|
|
18553
|
+
}
|
|
18554
|
+
|
|
18555
|
+
/**
|
|
18556
|
+
* Sets new data from input field
|
|
18557
|
+
* @param {string} newData - new string value which should be set
|
|
18558
|
+
* @param {string} field
|
|
18559
|
+
*/
|
|
18560
|
+
function inputValueCallback(newData, field) {
|
|
18561
|
+
ctrl.secretFieldsData[field] = newData;
|
|
18562
|
+
}
|
|
18563
|
+
|
|
18564
|
+
/**
|
|
18565
|
+
* Closes dialog
|
|
18566
|
+
* @param {Event} [event]
|
|
18567
|
+
*/
|
|
18568
|
+
function onClose(event) {
|
|
18569
|
+
if (angular.isUndefined(event) || event.keyCode === EventHelperService.ENTER) {
|
|
18570
|
+
ctrl.closeDialog();
|
|
18571
|
+
}
|
|
18572
|
+
}
|
|
18573
|
+
|
|
18574
|
+
//
|
|
18575
|
+
// Private methods
|
|
18576
|
+
//
|
|
18577
|
+
|
|
18578
|
+
/**
|
|
18579
|
+
* Generates the data to display new input fields
|
|
18580
|
+
*/
|
|
18581
|
+
function generateDuplicateInputFieldsData() {
|
|
18582
|
+
ctrl.duplicateInputFieldsData = lodash.map(findFunctionSecrets(), function (elem) {
|
|
18583
|
+
var message = '';
|
|
18584
|
+
var moreInfoData = '';
|
|
18585
|
+
if (elem.key === 'password') {
|
|
18586
|
+
if (elem.path.includes('spec.triggers')) {
|
|
18587
|
+
// Trigger with type MQTT\V3IO, Access key field
|
|
18588
|
+
message = $i18next.t('functions:TRIGGER_ACCESS_KEY', {
|
|
18589
|
+
lng: lng,
|
|
18590
|
+
triggerName: elem.path.split('.')[2]
|
|
18591
|
+
});
|
|
18592
|
+
} else if (elem.path.includes('spec.build')) {
|
|
18593
|
+
// Code Entry Type: Git, Token field
|
|
18594
|
+
message = $i18next.t('functions:CODE_ENTRY_TYPE_PASSWORD', {
|
|
18595
|
+
lng: lng,
|
|
18596
|
+
codeEntryType: lodash.get(ctrl.version, 'spec.build.codeEntryType', '')
|
|
18597
|
+
});
|
|
18598
|
+
}
|
|
18599
|
+
} else if (elem.key === 'accessKeyID') {
|
|
18600
|
+
// Trigger with type Kinesis, Access key ID field
|
|
18601
|
+
message = $i18next.t('functions:TRIGGER_ACCESS_KEY_ID', {
|
|
18602
|
+
lng: lng,
|
|
18603
|
+
triggerName: elem.path.split('.')[2]
|
|
18604
|
+
});
|
|
18605
|
+
} else if (elem.key === 'secretAccessKey') {
|
|
18606
|
+
// Trigger with type Kinesis, Secret Access key field
|
|
18607
|
+
message = $i18next.t('functions:TRIGGER_SECRET_ACCESS_KEY', {
|
|
18608
|
+
lng: lng,
|
|
18609
|
+
triggerName: elem.path.split('.')[2]
|
|
18610
|
+
});
|
|
18611
|
+
} else if (elem.key === 'accessKey') {
|
|
18612
|
+
// Volume with type V3IO, Access key field
|
|
18613
|
+
var volumeName = lodash.get(ctrl.version, elem.path.split('.').slice(0, 3).join('.') + '.volume.name', '');
|
|
18614
|
+
moreInfoData = $i18next.t('functions:ACCESS_KEY_DESCRIPTION');
|
|
18615
|
+
message = $i18next.t('functions:VOLUME_ACCESS_KEY', {
|
|
18616
|
+
lng: lng,
|
|
18617
|
+
volumeName: volumeName
|
|
18618
|
+
});
|
|
18619
|
+
} else if (elem.key === 's3SecretAccessKey') {
|
|
18620
|
+
// Code Entry Type: s3, Session access key field
|
|
18621
|
+
moreInfoData = $i18next.t('functions:TOOLTIP.S3.SECRET_ACCESS_KEY');
|
|
18622
|
+
message = $i18next.t('functions:CODE_ENTRY_TYPE_KEY', {
|
|
18623
|
+
lng: lng,
|
|
18624
|
+
codeEntryType: lodash.get(ctrl.version, 'spec.build.codeEntryType', '')
|
|
18625
|
+
});
|
|
18626
|
+
} else if (elem.key === 's3SessionToken') {
|
|
18627
|
+
// Code Entry Type: s3, Session token field
|
|
18628
|
+
moreInfoData = $i18next.t('functions:TOOLTIP.S3.SESSION_TOKEN');
|
|
18629
|
+
message = $i18next.t('functions:CODE_ENTRY_TYPE_TOKEN', {
|
|
18630
|
+
lng: lng,
|
|
18631
|
+
codeEntryType: lodash.get(ctrl.version, 'spec.build.codeEntryType', '')
|
|
18632
|
+
});
|
|
18633
|
+
} else if (elem.key === 'Authorization') {
|
|
18634
|
+
// Code Entry Type: GitHub, Token field
|
|
18635
|
+
moreInfoData = $i18next.t('functions:TOOLTIP.GITHUB.TOKEN');
|
|
18636
|
+
message = $i18next.t('functions:CODE_ENTRY_TYPE_TOKEN', {
|
|
18637
|
+
lng: lng,
|
|
18638
|
+
codeEntryType: lodash.get(ctrl.version, 'spec.build.codeEntryType', '')
|
|
18639
|
+
});
|
|
18640
|
+
} else if (elem.key === 'X-V3io-Session-Key') {
|
|
18641
|
+
// Code Entry Type: Archive, Access key field
|
|
18642
|
+
moreInfoData = $i18next.t('functions:functions:TOOLTIP.V3IO_ACCESS_KEY');
|
|
18643
|
+
message = $i18next.t('functions:CODE_ENTRY_ACCESS_KEY', {
|
|
18644
|
+
lng: lng,
|
|
18645
|
+
codeEntryType: lodash.get(ctrl.version, 'spec.build.codeEntryType', '')
|
|
18646
|
+
});
|
|
18647
|
+
}
|
|
18648
|
+
return {
|
|
18649
|
+
moreInfoData: moreInfoData,
|
|
18650
|
+
title: message || lodash.startCase(elem.key),
|
|
18651
|
+
key: elem.key,
|
|
18652
|
+
path: elem.path
|
|
18653
|
+
};
|
|
18405
18654
|
});
|
|
18406
18655
|
}
|
|
18407
18656
|
|
|
18408
18657
|
/**
|
|
18409
|
-
*
|
|
18410
|
-
|
|
18411
|
-
function removeCanaryFunction() {
|
|
18412
|
-
ctrl.canaryUpstream = null;
|
|
18413
|
-
lodash.set(ctrl.apiGateway, 'spec.upstreams', [ctrl.primaryUpstream]);
|
|
18414
|
-
$rootScope.$broadcast('wizard_changes-have-been-made', isChangesHaveBeenMade());
|
|
18415
|
-
}
|
|
18416
|
-
|
|
18417
|
-
/**
|
|
18418
|
-
* Updates function name
|
|
18419
|
-
* @param functionName {string} - the new data
|
|
18420
|
-
* @param upstream {string} - the name of the input
|
|
18658
|
+
* Generates the list of fields in which the value starts with "$ref"
|
|
18659
|
+
* @returns {Array.<Object>}
|
|
18421
18660
|
*/
|
|
18422
|
-
function
|
|
18423
|
-
|
|
18424
|
-
|
|
18661
|
+
function findFunctionSecrets() {
|
|
18662
|
+
var secretsArray = [];
|
|
18663
|
+
iterateObject(ctrl.version.spec, 'spec');
|
|
18664
|
+
return secretsArray;
|
|
18665
|
+
function iterateObject(obj, prevPath) {
|
|
18666
|
+
var _loop = function _loop() {
|
|
18667
|
+
var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2),
|
|
18668
|
+
key = _Object$entries$_i[0],
|
|
18669
|
+
value = _Object$entries$_i[1];
|
|
18670
|
+
if (lodash.isArray(value)) {
|
|
18671
|
+
lodash.forEach(value, function (elem, index) {
|
|
18672
|
+
var path = prevPath + '.' + key + '.[' + index + ']';
|
|
18673
|
+
iterateObject(elem, path);
|
|
18674
|
+
});
|
|
18675
|
+
} else if (lodash.isObject(value)) {
|
|
18676
|
+
path = prevPath + '.' + key;
|
|
18677
|
+
iterateObject(value, path);
|
|
18678
|
+
} else if (lodash.isString(value) && value.includes('$ref')) {
|
|
18679
|
+
secretsArray.push({
|
|
18680
|
+
path: prevPath + '.' + key,
|
|
18681
|
+
key: key
|
|
18682
|
+
});
|
|
18683
|
+
}
|
|
18684
|
+
},
|
|
18685
|
+
path;
|
|
18686
|
+
for (var _i = 0, _Object$entries = Object.entries(obj); _i < _Object$entries.length; _i++) {
|
|
18687
|
+
_loop();
|
|
18688
|
+
}
|
|
18689
|
+
}
|
|
18425
18690
|
}
|
|
18426
18691
|
}
|
|
18427
18692
|
})();
|
|
@@ -18990,179 +19255,22 @@ such restriction.
|
|
|
18990
19255
|
DeployDeletedFunctionDialogController.$inject = ["$state", "$rootScope", "EventHelperService"];
|
|
18991
19256
|
angular.module('iguazio.dashboard-controls').component('nclDeployDeletedFunctionDialog', {
|
|
18992
19257
|
bindings: {
|
|
18993
|
-
closeDialog: '&',
|
|
18994
|
-
deploy: '&',
|
|
18995
|
-
version: '<'
|
|
18996
|
-
},
|
|
18997
|
-
templateUrl: 'nuclio/functions/deploy-deleted-function-dialog/deploy-deleted-function-dialog.tpl.html',
|
|
18998
|
-
controller: DeployDeletedFunctionDialogController
|
|
18999
|
-
});
|
|
19000
|
-
function DeployDeletedFunctionDialogController($state, $rootScope, EventHelperService) {
|
|
19001
|
-
var ctrl = this;
|
|
19002
|
-
ctrl.deployFunction = deployFunction;
|
|
19003
|
-
ctrl.goToFunctions = goToFunctions;
|
|
19004
|
-
ctrl.onClose = onClose;
|
|
19005
|
-
|
|
19006
|
-
//
|
|
19007
|
-
// Public methods
|
|
19008
|
-
//
|
|
19009
|
-
|
|
19010
|
-
/**
|
|
19011
|
-
* Closes dialog
|
|
19012
|
-
* @param {Event} [event]
|
|
19013
|
-
*/
|
|
19014
|
-
function onClose(event) {
|
|
19015
|
-
if (angular.isUndefined(event) || event.keyCode === EventHelperService.ENTER) {
|
|
19016
|
-
ctrl.closeDialog();
|
|
19017
|
-
}
|
|
19018
|
-
}
|
|
19019
|
-
|
|
19020
|
-
/**
|
|
19021
|
-
* Redirect to functions panel
|
|
19022
|
-
*/
|
|
19023
|
-
function goToFunctions() {
|
|
19024
|
-
$state.go('app.project.functions');
|
|
19025
|
-
ctrl.closeDialog();
|
|
19026
|
-
}
|
|
19027
|
-
|
|
19028
|
-
/**
|
|
19029
|
-
* Deploy function
|
|
19030
|
-
* @param {Event} [event]
|
|
19031
|
-
*/
|
|
19032
|
-
function deployFunction(event) {
|
|
19033
|
-
ctrl.deploy(event, ctrl.version);
|
|
19034
|
-
ctrl.closeDialog();
|
|
19035
|
-
}
|
|
19036
|
-
}
|
|
19037
|
-
})();
|
|
19038
|
-
"use strict";
|
|
19039
|
-
|
|
19040
|
-
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
19041
|
-
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."); }
|
|
19042
|
-
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
19043
|
-
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
19044
|
-
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
19045
|
-
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
19046
|
-
/*
|
|
19047
|
-
Copyright 2018 Iguazio Systems Ltd.
|
|
19048
|
-
Licensed under the Apache License, Version 2.0 (the "License") with
|
|
19049
|
-
an addition restriction as set forth herein. You may not use this
|
|
19050
|
-
file except in compliance with the License. You may obtain a copy of
|
|
19051
|
-
the License at http://www.apache.org/licenses/LICENSE-2.0.
|
|
19052
|
-
Unless required by applicable law or agreed to in writing, software
|
|
19053
|
-
distributed under the License is distributed on an "AS IS" BASIS,
|
|
19054
|
-
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
|
19055
|
-
implied. See the License for the specific language governing
|
|
19056
|
-
permissions and limitations under the License.
|
|
19057
|
-
In addition, you may not use the software for any purposes that are
|
|
19058
|
-
illegal under applicable law, and the grant of the foregoing license
|
|
19059
|
-
under the Apache 2.0 license is conditioned upon your compliance with
|
|
19060
|
-
such restriction.
|
|
19061
|
-
*/
|
|
19062
|
-
/*eslint complexity: ["error", 15]*/
|
|
19063
|
-
(function () {
|
|
19064
|
-
'use strict';
|
|
19065
|
-
|
|
19066
|
-
DuplicateFunctionDialogController.$inject = ["$state", "$i18next", "i18next", "lodash", "DialogsService", "EventHelperService", "ValidationService"];
|
|
19067
|
-
angular.module('iguazio.dashboard-controls').component('nclDuplicateFunctionDialog', {
|
|
19068
|
-
bindings: {
|
|
19069
|
-
closeDialog: '&',
|
|
19070
|
-
getFunction: '&',
|
|
19071
|
-
project: '<',
|
|
19072
|
-
version: '<'
|
|
19073
|
-
},
|
|
19074
|
-
templateUrl: 'nuclio/functions/duplicate-function-dialog/duplicate-function-dialog.tpl.html',
|
|
19075
|
-
controller: DuplicateFunctionDialogController
|
|
19076
|
-
});
|
|
19077
|
-
function DuplicateFunctionDialogController($state, $i18next, i18next, lodash, DialogsService, EventHelperService, ValidationService) {
|
|
19078
|
-
var ctrl = this;
|
|
19079
|
-
var lng = i18next.language;
|
|
19080
|
-
ctrl.duplicateFunctionForm = {};
|
|
19081
|
-
ctrl.duplicateInputFieldsData = [];
|
|
19082
|
-
ctrl.inputModelOptions = {
|
|
19083
|
-
debounce: {
|
|
19084
|
-
'default': 0
|
|
19085
|
-
}
|
|
19086
|
-
};
|
|
19087
|
-
ctrl.maxLengths = {
|
|
19088
|
-
functionName: ValidationService.getMaxLength('function.name')
|
|
19089
|
-
};
|
|
19090
|
-
ctrl.nameTakenError = false;
|
|
19091
|
-
ctrl.secretFieldsData = {};
|
|
19092
|
-
ctrl.validationRules = {
|
|
19093
|
-
functionName: ValidationService.getValidationRules('function.name')
|
|
19094
|
-
};
|
|
19095
|
-
ctrl.$onInit = onInit;
|
|
19096
|
-
ctrl.duplicateFunction = duplicateFunction;
|
|
19097
|
-
ctrl.inputValueCallback = inputValueCallback;
|
|
19098
|
-
ctrl.onClose = onClose;
|
|
19099
|
-
|
|
19100
|
-
//
|
|
19101
|
-
// Hook methods
|
|
19102
|
-
//
|
|
19103
|
-
|
|
19104
|
-
/**
|
|
19105
|
-
* Initialization method
|
|
19106
|
-
*/
|
|
19107
|
-
function onInit() {
|
|
19108
|
-
generateDuplicateInputFieldsData();
|
|
19109
|
-
}
|
|
19110
|
-
|
|
19111
|
-
//
|
|
19112
|
-
// Public methods
|
|
19113
|
-
//
|
|
19114
|
-
|
|
19115
|
-
/**
|
|
19116
|
-
* Duplicates selected function with a new name
|
|
19117
|
-
* @param {Object} event
|
|
19118
|
-
*/
|
|
19119
|
-
function duplicateFunction(event) {
|
|
19120
|
-
if (angular.isUndefined(event) || event.keyCode === EventHelperService.ENTER) {
|
|
19121
|
-
ctrl.nameTakenError = false;
|
|
19122
|
-
ctrl.duplicateFunctionForm.$setSubmitted();
|
|
19123
|
-
if (ctrl.duplicateFunctionForm.$valid) {
|
|
19124
|
-
var newFunction = lodash.pick(ctrl.version, 'spec');
|
|
19125
|
-
var projectId = lodash.get(ctrl.project, 'metadata.name');
|
|
19126
|
-
lodash.forEach(ctrl.secretFieldsData, function (value, path) {
|
|
19127
|
-
if (path === 'name') {
|
|
19128
|
-
lodash.set(newFunction, 'metadata.name', value);
|
|
19129
|
-
} else {
|
|
19130
|
-
lodash.set(newFunction, path, value);
|
|
19131
|
-
}
|
|
19132
|
-
});
|
|
19133
|
-
ctrl.getFunction({
|
|
19134
|
-
metadata: {
|
|
19135
|
-
name: ctrl.secretFieldsData.name
|
|
19136
|
-
}
|
|
19137
|
-
}).then(function () {
|
|
19138
|
-
DialogsService.alert($i18next.t('functions:ERROR_MSG.FUNCTION_NAME_ALREADY_IN_USE', {
|
|
19139
|
-
lng: lng
|
|
19140
|
-
}));
|
|
19141
|
-
})["catch"](function (error) {
|
|
19142
|
-
if (error.status === 404) {
|
|
19143
|
-
ctrl.closeDialog();
|
|
19144
|
-
$state.go('app.project.function.edit.code', {
|
|
19145
|
-
isNewFunction: true,
|
|
19146
|
-
id: ctrl.project.metadata.name,
|
|
19147
|
-
functionId: newFunction.metadata.name,
|
|
19148
|
-
projectId: projectId,
|
|
19149
|
-
projectNamespace: ctrl.project.metadata.namespace,
|
|
19150
|
-
functionData: newFunction
|
|
19151
|
-
});
|
|
19152
|
-
}
|
|
19153
|
-
});
|
|
19154
|
-
}
|
|
19155
|
-
}
|
|
19156
|
-
}
|
|
19258
|
+
closeDialog: '&',
|
|
19259
|
+
deploy: '&',
|
|
19260
|
+
version: '<'
|
|
19261
|
+
},
|
|
19262
|
+
templateUrl: 'nuclio/functions/deploy-deleted-function-dialog/deploy-deleted-function-dialog.tpl.html',
|
|
19263
|
+
controller: DeployDeletedFunctionDialogController
|
|
19264
|
+
});
|
|
19265
|
+
function DeployDeletedFunctionDialogController($state, $rootScope, EventHelperService) {
|
|
19266
|
+
var ctrl = this;
|
|
19267
|
+
ctrl.deployFunction = deployFunction;
|
|
19268
|
+
ctrl.goToFunctions = goToFunctions;
|
|
19269
|
+
ctrl.onClose = onClose;
|
|
19157
19270
|
|
|
19158
|
-
|
|
19159
|
-
|
|
19160
|
-
|
|
19161
|
-
* @param {string} field
|
|
19162
|
-
*/
|
|
19163
|
-
function inputValueCallback(newData, field) {
|
|
19164
|
-
ctrl.secretFieldsData[field] = newData;
|
|
19165
|
-
}
|
|
19271
|
+
//
|
|
19272
|
+
// Public methods
|
|
19273
|
+
//
|
|
19166
19274
|
|
|
19167
19275
|
/**
|
|
19168
19276
|
* Closes dialog
|
|
@@ -19174,122 +19282,21 @@ such restriction.
|
|
|
19174
19282
|
}
|
|
19175
19283
|
}
|
|
19176
19284
|
|
|
19177
|
-
//
|
|
19178
|
-
// Private methods
|
|
19179
|
-
//
|
|
19180
|
-
|
|
19181
19285
|
/**
|
|
19182
|
-
*
|
|
19286
|
+
* Redirect to functions panel
|
|
19183
19287
|
*/
|
|
19184
|
-
function
|
|
19185
|
-
|
|
19186
|
-
|
|
19187
|
-
var moreInfoData = '';
|
|
19188
|
-
if (elem.key === 'password') {
|
|
19189
|
-
if (elem.path.includes('spec.triggers')) {
|
|
19190
|
-
// Trigger with type MQTT\V3IO, Access key field
|
|
19191
|
-
message = $i18next.t('functions:TRIGGER_ACCESS_KEY', {
|
|
19192
|
-
lng: lng,
|
|
19193
|
-
triggerName: elem.path.split('.')[2]
|
|
19194
|
-
});
|
|
19195
|
-
} else if (elem.path.includes('spec.build')) {
|
|
19196
|
-
// Code Entry Type: Git, Token field
|
|
19197
|
-
message = $i18next.t('functions:CODE_ENTRY_TYPE_PASSWORD', {
|
|
19198
|
-
lng: lng,
|
|
19199
|
-
codeEntryType: lodash.get(ctrl.version, 'spec.build.codeEntryType', '')
|
|
19200
|
-
});
|
|
19201
|
-
}
|
|
19202
|
-
} else if (elem.key === 'accessKeyID') {
|
|
19203
|
-
// Trigger with type Kinesis, Access key ID field
|
|
19204
|
-
message = $i18next.t('functions:TRIGGER_ACCESS_KEY_ID', {
|
|
19205
|
-
lng: lng,
|
|
19206
|
-
triggerName: elem.path.split('.')[2]
|
|
19207
|
-
});
|
|
19208
|
-
} else if (elem.key === 'secretAccessKey') {
|
|
19209
|
-
// Trigger with type Kinesis, Secret Access key field
|
|
19210
|
-
message = $i18next.t('functions:TRIGGER_SECRET_ACCESS_KEY', {
|
|
19211
|
-
lng: lng,
|
|
19212
|
-
triggerName: elem.path.split('.')[2]
|
|
19213
|
-
});
|
|
19214
|
-
} else if (elem.key === 'accessKey') {
|
|
19215
|
-
// Volume with type V3IO, Access key field
|
|
19216
|
-
var volumeName = lodash.get(ctrl.version, elem.path.split('.').slice(0, 3).join('.') + '.volume.name', '');
|
|
19217
|
-
moreInfoData = $i18next.t('functions:ACCESS_KEY_DESCRIPTION');
|
|
19218
|
-
message = $i18next.t('functions:VOLUME_ACCESS_KEY', {
|
|
19219
|
-
lng: lng,
|
|
19220
|
-
volumeName: volumeName
|
|
19221
|
-
});
|
|
19222
|
-
} else if (elem.key === 's3SecretAccessKey') {
|
|
19223
|
-
// Code Entry Type: s3, Session access key field
|
|
19224
|
-
moreInfoData = $i18next.t('functions:TOOLTIP.S3.SECRET_ACCESS_KEY');
|
|
19225
|
-
message = $i18next.t('functions:CODE_ENTRY_TYPE_KEY', {
|
|
19226
|
-
lng: lng,
|
|
19227
|
-
codeEntryType: lodash.get(ctrl.version, 'spec.build.codeEntryType', '')
|
|
19228
|
-
});
|
|
19229
|
-
} else if (elem.key === 's3SessionToken') {
|
|
19230
|
-
// Code Entry Type: s3, Session token field
|
|
19231
|
-
moreInfoData = $i18next.t('functions:TOOLTIP.S3.SESSION_TOKEN');
|
|
19232
|
-
message = $i18next.t('functions:CODE_ENTRY_TYPE_TOKEN', {
|
|
19233
|
-
lng: lng,
|
|
19234
|
-
codeEntryType: lodash.get(ctrl.version, 'spec.build.codeEntryType', '')
|
|
19235
|
-
});
|
|
19236
|
-
} else if (elem.key === 'Authorization') {
|
|
19237
|
-
// Code Entry Type: GitHub, Token field
|
|
19238
|
-
moreInfoData = $i18next.t('functions:TOOLTIP.GITHUB.TOKEN');
|
|
19239
|
-
message = $i18next.t('functions:CODE_ENTRY_TYPE_TOKEN', {
|
|
19240
|
-
lng: lng,
|
|
19241
|
-
codeEntryType: lodash.get(ctrl.version, 'spec.build.codeEntryType', '')
|
|
19242
|
-
});
|
|
19243
|
-
} else if (elem.key === 'X-V3io-Session-Key') {
|
|
19244
|
-
// Code Entry Type: Archive, Access key field
|
|
19245
|
-
moreInfoData = $i18next.t('functions:functions:TOOLTIP.V3IO_ACCESS_KEY');
|
|
19246
|
-
message = $i18next.t('functions:CODE_ENTRY_ACCESS_KEY', {
|
|
19247
|
-
lng: lng,
|
|
19248
|
-
codeEntryType: lodash.get(ctrl.version, 'spec.build.codeEntryType', '')
|
|
19249
|
-
});
|
|
19250
|
-
}
|
|
19251
|
-
return {
|
|
19252
|
-
moreInfoData: moreInfoData,
|
|
19253
|
-
title: message || lodash.startCase(elem.key),
|
|
19254
|
-
key: elem.key,
|
|
19255
|
-
path: elem.path
|
|
19256
|
-
};
|
|
19257
|
-
});
|
|
19288
|
+
function goToFunctions() {
|
|
19289
|
+
$state.go('app.project.functions');
|
|
19290
|
+
ctrl.closeDialog();
|
|
19258
19291
|
}
|
|
19259
19292
|
|
|
19260
19293
|
/**
|
|
19261
|
-
*
|
|
19262
|
-
* @
|
|
19294
|
+
* Deploy function
|
|
19295
|
+
* @param {Event} [event]
|
|
19263
19296
|
*/
|
|
19264
|
-
function
|
|
19265
|
-
|
|
19266
|
-
|
|
19267
|
-
return secretsArray;
|
|
19268
|
-
function iterateObject(obj, prevPath) {
|
|
19269
|
-
var _loop = function _loop() {
|
|
19270
|
-
var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2),
|
|
19271
|
-
key = _Object$entries$_i[0],
|
|
19272
|
-
value = _Object$entries$_i[1];
|
|
19273
|
-
if (lodash.isArray(value)) {
|
|
19274
|
-
lodash.forEach(value, function (elem, index) {
|
|
19275
|
-
var path = prevPath + '.' + key + '.[' + index + ']';
|
|
19276
|
-
iterateObject(elem, path);
|
|
19277
|
-
});
|
|
19278
|
-
} else if (lodash.isObject(value)) {
|
|
19279
|
-
path = prevPath + '.' + key;
|
|
19280
|
-
iterateObject(value, path);
|
|
19281
|
-
} else if (lodash.isString(value) && value.includes('$ref')) {
|
|
19282
|
-
secretsArray.push({
|
|
19283
|
-
path: prevPath + '.' + key,
|
|
19284
|
-
key: key
|
|
19285
|
-
});
|
|
19286
|
-
}
|
|
19287
|
-
},
|
|
19288
|
-
path;
|
|
19289
|
-
for (var _i = 0, _Object$entries = Object.entries(obj); _i < _Object$entries.length; _i++) {
|
|
19290
|
-
_loop();
|
|
19291
|
-
}
|
|
19292
|
-
}
|
|
19297
|
+
function deployFunction(event) {
|
|
19298
|
+
ctrl.deploy(event, ctrl.version);
|
|
19299
|
+
ctrl.closeDialog();
|
|
19293
19300
|
}
|
|
19294
19301
|
}
|
|
19295
19302
|
})();
|
|
@@ -20910,73 +20917,6 @@ such restriction.
|
|
|
20910
20917
|
})();
|
|
20911
20918
|
"use strict";
|
|
20912
20919
|
|
|
20913
|
-
/*
|
|
20914
|
-
Copyright 2018 Iguazio Systems Ltd.
|
|
20915
|
-
Licensed under the Apache License, Version 2.0 (the "License") with
|
|
20916
|
-
an addition restriction as set forth herein. You may not use this
|
|
20917
|
-
file except in compliance with the License. You may obtain a copy of
|
|
20918
|
-
the License at http://www.apache.org/licenses/LICENSE-2.0.
|
|
20919
|
-
Unless required by applicable law or agreed to in writing, software
|
|
20920
|
-
distributed under the License is distributed on an "AS IS" BASIS,
|
|
20921
|
-
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
|
20922
|
-
implied. See the License for the specific language governing
|
|
20923
|
-
permissions and limitations under the License.
|
|
20924
|
-
In addition, you may not use the software for any purposes that are
|
|
20925
|
-
illegal under applicable law, and the grant of the foregoing license
|
|
20926
|
-
under the Apache 2.0 license is conditioned upon your compliance with
|
|
20927
|
-
such restriction.
|
|
20928
|
-
*/
|
|
20929
|
-
(function () {
|
|
20930
|
-
'use strict';
|
|
20931
|
-
|
|
20932
|
-
NclDeployLogController.$inject = ["lodash"];
|
|
20933
|
-
angular.module('iguazio.dashboard-controls').component('nclDeployLog', {
|
|
20934
|
-
bindings: {
|
|
20935
|
-
logEntries: '<'
|
|
20936
|
-
},
|
|
20937
|
-
templateUrl: 'nuclio/common/components/deploy-log/deploy-log.tpl.html',
|
|
20938
|
-
controller: NclDeployLogController
|
|
20939
|
-
});
|
|
20940
|
-
function NclDeployLogController(lodash) {
|
|
20941
|
-
var ctrl = this;
|
|
20942
|
-
ctrl.scrollConfig = {
|
|
20943
|
-
advanced: {
|
|
20944
|
-
updateOnContentResize: true
|
|
20945
|
-
},
|
|
20946
|
-
theme: 'light-thin'
|
|
20947
|
-
};
|
|
20948
|
-
ctrl.lodash = lodash;
|
|
20949
|
-
ctrl.getLogLevel = getLogLevel;
|
|
20950
|
-
ctrl.getLogParams = getLogParams;
|
|
20951
|
-
|
|
20952
|
-
//
|
|
20953
|
-
// Public methods
|
|
20954
|
-
//
|
|
20955
|
-
|
|
20956
|
-
/**
|
|
20957
|
-
* Get log level display value
|
|
20958
|
-
* @param {string} level - the level model value (one of: 'debug', 'info', 'warn', 'error')
|
|
20959
|
-
* @returns {string} the log level display value
|
|
20960
|
-
*/
|
|
20961
|
-
function getLogLevel(level) {
|
|
20962
|
-
return lodash.first(level).toUpperCase();
|
|
20963
|
-
}
|
|
20964
|
-
|
|
20965
|
-
/**
|
|
20966
|
-
* Get log parameters display value
|
|
20967
|
-
* @param {string} logEntry - the log entry that includes the parameters
|
|
20968
|
-
* @returns {string} the log level display value
|
|
20969
|
-
*/
|
|
20970
|
-
function getLogParams(logEntry) {
|
|
20971
|
-
var params = lodash.omit(logEntry, ['name', 'time', 'level', 'message', 'err']);
|
|
20972
|
-
return lodash.isEmpty(params) ? '' : '[' + lodash.map(params, function (value, key) {
|
|
20973
|
-
return key + ': ' + angular.toJson(value);
|
|
20974
|
-
}).join(', ').replace(/\\n/g, '\n').replace(/\\"/g, '"') + ']';
|
|
20975
|
-
}
|
|
20976
|
-
}
|
|
20977
|
-
})();
|
|
20978
|
-
"use strict";
|
|
20979
|
-
|
|
20980
20920
|
/*
|
|
20981
20921
|
Copyright 2018 Iguazio Systems Ltd.
|
|
20982
20922
|
Licensed under the Apache License, Version 2.0 (the "License") with
|
|
@@ -21192,6 +21132,73 @@ such restriction.
|
|
|
21192
21132
|
})();
|
|
21193
21133
|
"use strict";
|
|
21194
21134
|
|
|
21135
|
+
/*
|
|
21136
|
+
Copyright 2018 Iguazio Systems Ltd.
|
|
21137
|
+
Licensed under the Apache License, Version 2.0 (the "License") with
|
|
21138
|
+
an addition restriction as set forth herein. You may not use this
|
|
21139
|
+
file except in compliance with the License. You may obtain a copy of
|
|
21140
|
+
the License at http://www.apache.org/licenses/LICENSE-2.0.
|
|
21141
|
+
Unless required by applicable law or agreed to in writing, software
|
|
21142
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
21143
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
|
21144
|
+
implied. See the License for the specific language governing
|
|
21145
|
+
permissions and limitations under the License.
|
|
21146
|
+
In addition, you may not use the software for any purposes that are
|
|
21147
|
+
illegal under applicable law, and the grant of the foregoing license
|
|
21148
|
+
under the Apache 2.0 license is conditioned upon your compliance with
|
|
21149
|
+
such restriction.
|
|
21150
|
+
*/
|
|
21151
|
+
(function () {
|
|
21152
|
+
'use strict';
|
|
21153
|
+
|
|
21154
|
+
NclDeployLogController.$inject = ["lodash"];
|
|
21155
|
+
angular.module('iguazio.dashboard-controls').component('nclDeployLog', {
|
|
21156
|
+
bindings: {
|
|
21157
|
+
logEntries: '<'
|
|
21158
|
+
},
|
|
21159
|
+
templateUrl: 'nuclio/common/components/deploy-log/deploy-log.tpl.html',
|
|
21160
|
+
controller: NclDeployLogController
|
|
21161
|
+
});
|
|
21162
|
+
function NclDeployLogController(lodash) {
|
|
21163
|
+
var ctrl = this;
|
|
21164
|
+
ctrl.scrollConfig = {
|
|
21165
|
+
advanced: {
|
|
21166
|
+
updateOnContentResize: true
|
|
21167
|
+
},
|
|
21168
|
+
theme: 'light-thin'
|
|
21169
|
+
};
|
|
21170
|
+
ctrl.lodash = lodash;
|
|
21171
|
+
ctrl.getLogLevel = getLogLevel;
|
|
21172
|
+
ctrl.getLogParams = getLogParams;
|
|
21173
|
+
|
|
21174
|
+
//
|
|
21175
|
+
// Public methods
|
|
21176
|
+
//
|
|
21177
|
+
|
|
21178
|
+
/**
|
|
21179
|
+
* Get log level display value
|
|
21180
|
+
* @param {string} level - the level model value (one of: 'debug', 'info', 'warn', 'error')
|
|
21181
|
+
* @returns {string} the log level display value
|
|
21182
|
+
*/
|
|
21183
|
+
function getLogLevel(level) {
|
|
21184
|
+
return lodash.first(level).toUpperCase();
|
|
21185
|
+
}
|
|
21186
|
+
|
|
21187
|
+
/**
|
|
21188
|
+
* Get log parameters display value
|
|
21189
|
+
* @param {string} logEntry - the log entry that includes the parameters
|
|
21190
|
+
* @returns {string} the log level display value
|
|
21191
|
+
*/
|
|
21192
|
+
function getLogParams(logEntry) {
|
|
21193
|
+
var params = lodash.omit(logEntry, ['name', 'time', 'level', 'message', 'err']);
|
|
21194
|
+
return lodash.isEmpty(params) ? '' : '[' + lodash.map(params, function (value, key) {
|
|
21195
|
+
return key + ': ' + angular.toJson(value);
|
|
21196
|
+
}).join(', ').replace(/\\n/g, '\n').replace(/\\"/g, '"') + ']';
|
|
21197
|
+
}
|
|
21198
|
+
}
|
|
21199
|
+
})();
|
|
21200
|
+
"use strict";
|
|
21201
|
+
|
|
21195
21202
|
/*
|
|
21196
21203
|
Copyright 2018 Iguazio Systems Ltd.
|
|
21197
21204
|
Licensed under the Apache License, Version 2.0 (the "License") with
|
|
@@ -22266,18 +22273,30 @@ such restriction.
|
|
|
22266
22273
|
(function () {
|
|
22267
22274
|
'use strict';
|
|
22268
22275
|
|
|
22269
|
-
|
|
22270
|
-
angular.module('iguazio.dashboard-controls').component('
|
|
22276
|
+
NclMonacoController.$inject = ["$scope", "lodash"];
|
|
22277
|
+
angular.module('iguazio.dashboard-controls').component('nclMonaco', {
|
|
22271
22278
|
bindings: {
|
|
22272
|
-
|
|
22273
|
-
|
|
22279
|
+
language: '<',
|
|
22280
|
+
functionSourceCode: '<',
|
|
22281
|
+
onChangeSourceCodeCallback: '&',
|
|
22282
|
+
selectedTheme: '<',
|
|
22283
|
+
miniMonaco: '<?',
|
|
22284
|
+
noTopPadding: '<?',
|
|
22285
|
+
showLineNumbers: '<?',
|
|
22286
|
+
showTextSizeDropdown: '<?',
|
|
22287
|
+
readOnly: '<?',
|
|
22288
|
+
wordWrap: '<?',
|
|
22289
|
+
name: '@?'
|
|
22274
22290
|
},
|
|
22275
|
-
templateUrl: 'nuclio/common/components/
|
|
22276
|
-
controller:
|
|
22291
|
+
templateUrl: 'nuclio/common/components/monaco/monaco.tpl.html',
|
|
22292
|
+
controller: NclMonacoController
|
|
22277
22293
|
});
|
|
22278
|
-
function
|
|
22294
|
+
function NclMonacoController($scope, lodash) {
|
|
22279
22295
|
var ctrl = this;
|
|
22280
22296
|
ctrl.$onInit = onInit;
|
|
22297
|
+
ctrl.$onChanges = onChanges;
|
|
22298
|
+
ctrl.onCodeChange = onCodeChange;
|
|
22299
|
+
ctrl.onTextSizeChange = onTextSizeChange;
|
|
22281
22300
|
|
|
22282
22301
|
//
|
|
22283
22302
|
// Hook methods
|
|
@@ -22287,9 +22306,57 @@ such restriction.
|
|
|
22287
22306
|
* Initialization method
|
|
22288
22307
|
*/
|
|
22289
22308
|
function onInit() {
|
|
22290
|
-
|
|
22291
|
-
|
|
22292
|
-
|
|
22309
|
+
ctrl.noTopPadding = lodash.defaultTo(ctrl.noTopPadding, ctrl.showTextSizeDropdown);
|
|
22310
|
+
$scope.selectedCodeFile = {
|
|
22311
|
+
code: ctrl.functionSourceCode
|
|
22312
|
+
};
|
|
22313
|
+
$scope.selectedFileLanguage = {
|
|
22314
|
+
language: ctrl.language
|
|
22315
|
+
};
|
|
22316
|
+
}
|
|
22317
|
+
|
|
22318
|
+
/**
|
|
22319
|
+
* On changes method
|
|
22320
|
+
* @param {Object} changes
|
|
22321
|
+
*/
|
|
22322
|
+
function onChanges(changes) {
|
|
22323
|
+
if (angular.isDefined(changes.language) && !changes.language.isFirstChange()) {
|
|
22324
|
+
$scope.selectedCodeFile = {
|
|
22325
|
+
code: $scope.selectedCodeFile.code
|
|
22326
|
+
};
|
|
22327
|
+
$scope.selectedFileLanguage = {
|
|
22328
|
+
language: changes.language.currentValue
|
|
22329
|
+
};
|
|
22330
|
+
}
|
|
22331
|
+
if (angular.isDefined(changes.functionSourceCode) && !changes.functionSourceCode.isFirstChange()) {
|
|
22332
|
+
$scope.selectedCodeFile = {
|
|
22333
|
+
code: changes.functionSourceCode.currentValue
|
|
22334
|
+
};
|
|
22335
|
+
}
|
|
22336
|
+
}
|
|
22337
|
+
|
|
22338
|
+
/**
|
|
22339
|
+
* On code change callback.
|
|
22340
|
+
* igz-monaco-editor directive calls this callback with new changed content
|
|
22341
|
+
* @param {string} newCode - changed code
|
|
22342
|
+
*/
|
|
22343
|
+
function onCodeChange(newCode) {
|
|
22344
|
+
if (angular.isFunction(ctrl.onChangeSourceCodeCallback)) {
|
|
22345
|
+
ctrl.onChangeSourceCodeCallback({
|
|
22346
|
+
sourceCode: newCode,
|
|
22347
|
+
language: $scope.selectedCodeFile.language
|
|
22348
|
+
});
|
|
22349
|
+
}
|
|
22350
|
+
}
|
|
22351
|
+
|
|
22352
|
+
/**
|
|
22353
|
+
* On text size dropdown change
|
|
22354
|
+
* @param {string} newTextSize
|
|
22355
|
+
*/
|
|
22356
|
+
function onTextSizeChange(newTextSize) {
|
|
22357
|
+
if (!lodash.isNil(newTextSize)) {
|
|
22358
|
+
ctrl.selectedTextSize = newTextSize;
|
|
22359
|
+
}
|
|
22293
22360
|
}
|
|
22294
22361
|
}
|
|
22295
22362
|
})();
|
|
@@ -22809,57 +22876,30 @@ such restriction.
|
|
|
22809
22876
|
(function () {
|
|
22810
22877
|
'use strict';
|
|
22811
22878
|
|
|
22812
|
-
|
|
22813
|
-
angular.module('iguazio.dashboard-controls').component('
|
|
22879
|
+
NclFunctionConfigDialogController.$inject = ["ExportService", "MaskService"];
|
|
22880
|
+
angular.module('iguazio.dashboard-controls').component('nclFunctionConfigDialog', {
|
|
22814
22881
|
bindings: {
|
|
22815
|
-
|
|
22882
|
+
closeDialog: '&',
|
|
22883
|
+
"function": '<'
|
|
22816
22884
|
},
|
|
22817
|
-
templateUrl: 'nuclio/common/components/
|
|
22818
|
-
controller:
|
|
22885
|
+
templateUrl: 'nuclio/common/components/function-config-dialog/function-config-dialog.tpl.html',
|
|
22886
|
+
controller: NclFunctionConfigDialogController
|
|
22819
22887
|
});
|
|
22820
|
-
function
|
|
22888
|
+
function NclFunctionConfigDialogController(ExportService, MaskService) {
|
|
22821
22889
|
var ctrl = this;
|
|
22822
|
-
|
|
22823
|
-
ctrl.isTestPaneClosed = false;
|
|
22824
|
-
ctrl.isToggleButtonVisible = isToggleButtonVisible;
|
|
22825
|
-
ctrl.toggleTestPane = toggleTestPane;
|
|
22890
|
+
ctrl.$onInit = onInit;
|
|
22826
22891
|
|
|
22827
22892
|
//
|
|
22828
|
-
//
|
|
22893
|
+
// Hook methods
|
|
22829
22894
|
//
|
|
22830
22895
|
|
|
22831
22896
|
/**
|
|
22832
|
-
*
|
|
22833
|
-
* It should, only when 'code' tab is reached.
|
|
22834
|
-
* @returns {boolean}
|
|
22835
|
-
*/
|
|
22836
|
-
function isToggleButtonVisible() {
|
|
22837
|
-
var isButtonVisible = lodash.get($state.$current, 'self.url') === '/code';
|
|
22838
|
-
if (!isButtonVisible) {
|
|
22839
|
-
ctrl.isTestPaneClosed = false;
|
|
22840
|
-
$rootScope.$broadcast('navigation-tabs_toggle-test-pane', {
|
|
22841
|
-
closeTestPane: ctrl.isTestPaneClosed
|
|
22842
|
-
});
|
|
22843
|
-
}
|
|
22844
|
-
return isButtonVisible;
|
|
22845
|
-
}
|
|
22846
|
-
|
|
22847
|
-
/**
|
|
22848
|
-
* Sends broadcast to toggle test pane.
|
|
22897
|
+
* Initialization method
|
|
22849
22898
|
*/
|
|
22850
|
-
function
|
|
22851
|
-
|
|
22852
|
-
|
|
22853
|
-
|
|
22854
|
-
$rootScope.$broadcast('navigation-tabs_toggle-test-pane', {
|
|
22855
|
-
closeTestPane: ctrl.isTestPaneClosed
|
|
22856
|
-
});
|
|
22857
|
-
|
|
22858
|
-
// wait until toggling animation will be completed
|
|
22859
|
-
$timeout(function () {
|
|
22860
|
-
isTestPaneToggled = true;
|
|
22861
|
-
}, 600);
|
|
22862
|
-
}
|
|
22899
|
+
function onInit() {
|
|
22900
|
+
var functionWithMask = MaskService.getObjectWithMask(ctrl["function"]);
|
|
22901
|
+
ctrl.title = ctrl["function"].metadata.name + ' - configuration';
|
|
22902
|
+
ctrl.sourceCode = ExportService.getFunctionConfig(functionWithMask);
|
|
22863
22903
|
}
|
|
22864
22904
|
}
|
|
22865
22905
|
})();
|
|
@@ -22884,89 +22924,56 @@ such restriction.
|
|
|
22884
22924
|
(function () {
|
|
22885
22925
|
'use strict';
|
|
22886
22926
|
|
|
22887
|
-
|
|
22888
|
-
angular.module('iguazio.dashboard-controls').component('
|
|
22927
|
+
NclNavigationTabsController.$inject = ["$rootScope", "$state", "$timeout", "lodash"];
|
|
22928
|
+
angular.module('iguazio.dashboard-controls').component('nclNavigationTabs', {
|
|
22889
22929
|
bindings: {
|
|
22890
|
-
|
|
22891
|
-
functionSourceCode: '<',
|
|
22892
|
-
onChangeSourceCodeCallback: '&',
|
|
22893
|
-
selectedTheme: '<',
|
|
22894
|
-
miniMonaco: '<?',
|
|
22895
|
-
noTopPadding: '<?',
|
|
22896
|
-
showLineNumbers: '<?',
|
|
22897
|
-
showTextSizeDropdown: '<?',
|
|
22898
|
-
readOnly: '<?',
|
|
22899
|
-
wordWrap: '<?',
|
|
22900
|
-
name: '@?'
|
|
22930
|
+
tabItems: '<'
|
|
22901
22931
|
},
|
|
22902
|
-
templateUrl: 'nuclio/common/components/
|
|
22903
|
-
controller:
|
|
22932
|
+
templateUrl: 'nuclio/common/components/navigation-tabs/navigation-tabs.tpl.html',
|
|
22933
|
+
controller: NclNavigationTabsController
|
|
22904
22934
|
});
|
|
22905
|
-
function
|
|
22935
|
+
function NclNavigationTabsController($rootScope, $state, $timeout, lodash) {
|
|
22906
22936
|
var ctrl = this;
|
|
22907
|
-
|
|
22908
|
-
ctrl
|
|
22909
|
-
ctrl.
|
|
22910
|
-
ctrl.
|
|
22937
|
+
var isTestPaneToggled = true;
|
|
22938
|
+
ctrl.isTestPaneClosed = false;
|
|
22939
|
+
ctrl.isToggleButtonVisible = isToggleButtonVisible;
|
|
22940
|
+
ctrl.toggleTestPane = toggleTestPane;
|
|
22911
22941
|
|
|
22912
22942
|
//
|
|
22913
|
-
//
|
|
22943
|
+
// Public methods
|
|
22914
22944
|
//
|
|
22915
22945
|
|
|
22916
22946
|
/**
|
|
22917
|
-
*
|
|
22918
|
-
|
|
22919
|
-
|
|
22920
|
-
ctrl.noTopPadding = lodash.defaultTo(ctrl.noTopPadding, ctrl.showTextSizeDropdown);
|
|
22921
|
-
$scope.selectedCodeFile = {
|
|
22922
|
-
code: ctrl.functionSourceCode
|
|
22923
|
-
};
|
|
22924
|
-
$scope.selectedFileLanguage = {
|
|
22925
|
-
language: ctrl.language
|
|
22926
|
-
};
|
|
22927
|
-
}
|
|
22928
|
-
|
|
22929
|
-
/**
|
|
22930
|
-
* On changes method
|
|
22931
|
-
* @param {Object} changes
|
|
22947
|
+
* Checks if 'toggle test pane' button should be visible.
|
|
22948
|
+
* It should, only when 'code' tab is reached.
|
|
22949
|
+
* @returns {boolean}
|
|
22932
22950
|
*/
|
|
22933
|
-
function
|
|
22934
|
-
|
|
22935
|
-
|
|
22936
|
-
|
|
22937
|
-
|
|
22938
|
-
|
|
22939
|
-
|
|
22940
|
-
};
|
|
22941
|
-
}
|
|
22942
|
-
if (angular.isDefined(changes.functionSourceCode) && !changes.functionSourceCode.isFirstChange()) {
|
|
22943
|
-
$scope.selectedCodeFile = {
|
|
22944
|
-
code: changes.functionSourceCode.currentValue
|
|
22945
|
-
};
|
|
22951
|
+
function isToggleButtonVisible() {
|
|
22952
|
+
var isButtonVisible = lodash.get($state.$current, 'self.url') === '/code';
|
|
22953
|
+
if (!isButtonVisible) {
|
|
22954
|
+
ctrl.isTestPaneClosed = false;
|
|
22955
|
+
$rootScope.$broadcast('navigation-tabs_toggle-test-pane', {
|
|
22956
|
+
closeTestPane: ctrl.isTestPaneClosed
|
|
22957
|
+
});
|
|
22946
22958
|
}
|
|
22959
|
+
return isButtonVisible;
|
|
22947
22960
|
}
|
|
22948
22961
|
|
|
22949
22962
|
/**
|
|
22950
|
-
*
|
|
22951
|
-
* igz-monaco-editor directive calls this callback with new changed content
|
|
22952
|
-
* @param {string} newCode - changed code
|
|
22963
|
+
* Sends broadcast to toggle test pane.
|
|
22953
22964
|
*/
|
|
22954
|
-
function
|
|
22955
|
-
if (
|
|
22956
|
-
ctrl.
|
|
22957
|
-
|
|
22958
|
-
|
|
22965
|
+
function toggleTestPane() {
|
|
22966
|
+
if (isTestPaneToggled) {
|
|
22967
|
+
ctrl.isTestPaneClosed = !ctrl.isTestPaneClosed;
|
|
22968
|
+
isTestPaneToggled = false;
|
|
22969
|
+
$rootScope.$broadcast('navigation-tabs_toggle-test-pane', {
|
|
22970
|
+
closeTestPane: ctrl.isTestPaneClosed
|
|
22959
22971
|
});
|
|
22960
|
-
}
|
|
22961
|
-
}
|
|
22962
22972
|
|
|
22963
|
-
|
|
22964
|
-
|
|
22965
|
-
|
|
22966
|
-
|
|
22967
|
-
function onTextSizeChange(newTextSize) {
|
|
22968
|
-
if (!lodash.isNil(newTextSize)) {
|
|
22969
|
-
ctrl.selectedTextSize = newTextSize;
|
|
22973
|
+
// wait until toggling animation will be completed
|
|
22974
|
+
$timeout(function () {
|
|
22975
|
+
isTestPaneToggled = true;
|
|
22976
|
+
}, 600);
|
|
22970
22977
|
}
|
|
22971
22978
|
}
|
|
22972
22979
|
}
|
|
@@ -24552,45 +24559,81 @@ such restriction.
|
|
|
24552
24559
|
(function () {
|
|
24553
24560
|
'use strict';
|
|
24554
24561
|
|
|
24555
|
-
|
|
24556
|
-
angular.module('iguazio.dashboard-controls').component('
|
|
24562
|
+
NclVersionMonitoringController.$inject = ["$rootScope", "$timeout", "lodash", "FunctionsService"];
|
|
24563
|
+
angular.module('iguazio.dashboard-controls').component('nclVersionMonitoring', {
|
|
24557
24564
|
bindings: {
|
|
24558
|
-
version: '<'
|
|
24559
|
-
isFunctionDeploying: '&'
|
|
24565
|
+
version: '<'
|
|
24560
24566
|
},
|
|
24561
|
-
templateUrl: 'nuclio/functions/version/version-
|
|
24562
|
-
controller:
|
|
24567
|
+
templateUrl: 'nuclio/functions/version/version-monitoring/version-monitoring.tpl.html',
|
|
24568
|
+
controller: NclVersionMonitoringController
|
|
24563
24569
|
});
|
|
24564
|
-
function
|
|
24570
|
+
function NclVersionMonitoringController($rootScope, $timeout, lodash, FunctionsService) {
|
|
24565
24571
|
var ctrl = this;
|
|
24572
|
+
ctrl.enrichedNodeSelectors = [];
|
|
24566
24573
|
ctrl.scrollConfig = {
|
|
24567
|
-
axis: 'y',
|
|
24568
24574
|
advanced: {
|
|
24569
|
-
autoScrollOnFocus: false,
|
|
24570
24575
|
updateOnContentResize: true
|
|
24571
24576
|
}
|
|
24572
24577
|
};
|
|
24573
|
-
ctrl.
|
|
24574
|
-
|
|
24575
|
-
|
|
24578
|
+
ctrl.loggerScrollConfig = {
|
|
24579
|
+
advanced: {
|
|
24580
|
+
updateOnContentResize: true
|
|
24581
|
+
},
|
|
24582
|
+
theme: 'light-thin'
|
|
24583
|
+
};
|
|
24584
|
+
ctrl.rowIsCollapsed = {
|
|
24585
|
+
buildLog: false,
|
|
24586
|
+
errorLog: false
|
|
24587
|
+
};
|
|
24588
|
+
ctrl.$onInit = onInit;
|
|
24589
|
+
ctrl.checkIsErrorState = checkIsErrorState;
|
|
24590
|
+
ctrl.onRowCollapse = onRowCollapse;
|
|
24591
|
+
|
|
24592
|
+
//
|
|
24593
|
+
// Hook methods
|
|
24594
|
+
//
|
|
24595
|
+
|
|
24596
|
+
/**
|
|
24597
|
+
* Initialization method
|
|
24598
|
+
*/
|
|
24599
|
+
function onInit() {
|
|
24600
|
+
ctrl.isFunctionDeploying = lodash.partial(FunctionsService.isFunctionDeploying, ctrl.version);
|
|
24601
|
+
initEnrichedNodeSelectors();
|
|
24602
|
+
}
|
|
24576
24603
|
|
|
24577
24604
|
//
|
|
24578
24605
|
// Public methods
|
|
24579
24606
|
//
|
|
24580
24607
|
|
|
24581
24608
|
/**
|
|
24582
|
-
* Checks if
|
|
24609
|
+
* Checks if current version status is `error`
|
|
24583
24610
|
* @returns {boolean}
|
|
24584
24611
|
*/
|
|
24585
|
-
function
|
|
24586
|
-
return lodash.includes(['
|
|
24612
|
+
function checkIsErrorState() {
|
|
24613
|
+
return lodash.includes(['error', 'unhealthy'], lodash.get(ctrl.version.status, 'state'));
|
|
24587
24614
|
}
|
|
24588
24615
|
|
|
24589
24616
|
/**
|
|
24590
|
-
*
|
|
24617
|
+
* Generates a node selectors list
|
|
24591
24618
|
*/
|
|
24592
|
-
function
|
|
24593
|
-
|
|
24619
|
+
function initEnrichedNodeSelectors() {
|
|
24620
|
+
ctrl.enrichedNodeSelectors = lodash.chain(ctrl.version).get('status.enrichedNodeSelector', {}).map(function (key, value) {
|
|
24621
|
+
return {
|
|
24622
|
+
name: value,
|
|
24623
|
+
value: key
|
|
24624
|
+
};
|
|
24625
|
+
}).value();
|
|
24626
|
+
}
|
|
24627
|
+
|
|
24628
|
+
/**
|
|
24629
|
+
* Called when row is collapsed/expanded
|
|
24630
|
+
* @param {string} row - name of expanded/collapsed row
|
|
24631
|
+
*/
|
|
24632
|
+
function onRowCollapse(row) {
|
|
24633
|
+
ctrl.rowIsCollapsed[row] = !ctrl.rowIsCollapsed[row];
|
|
24634
|
+
$timeout(function () {
|
|
24635
|
+
$rootScope.$broadcast('igzWatchWindowResize::resize');
|
|
24636
|
+
}, 350);
|
|
24594
24637
|
}
|
|
24595
24638
|
}
|
|
24596
24639
|
})();
|
|
@@ -24629,7 +24672,10 @@ such restriction.
|
|
|
24629
24672
|
var ctrl = this;
|
|
24630
24673
|
var lng = i18next.language;
|
|
24631
24674
|
var refreshInterval = null;
|
|
24632
|
-
var initialTimeRange =
|
|
24675
|
+
var initialTimeRange = {
|
|
24676
|
+
from: null,
|
|
24677
|
+
to: null
|
|
24678
|
+
};
|
|
24633
24679
|
var initialDatePreset = '7d';
|
|
24634
24680
|
var initialReplicas = [];
|
|
24635
24681
|
var defaultFilter = {
|
|
@@ -24649,6 +24695,7 @@ such restriction.
|
|
|
24649
24695
|
ctrl.logs = {};
|
|
24650
24696
|
ctrl.replicasList = [];
|
|
24651
24697
|
ctrl.filter = {};
|
|
24698
|
+
ctrl.applyIsDisabled = false;
|
|
24652
24699
|
ctrl.scrollConfig = {
|
|
24653
24700
|
axis: 'y',
|
|
24654
24701
|
theme: 'light',
|
|
@@ -24657,7 +24704,7 @@ such restriction.
|
|
|
24657
24704
|
}
|
|
24658
24705
|
};
|
|
24659
24706
|
ctrl.datePreset = initialDatePreset;
|
|
24660
|
-
ctrl.timeRange =
|
|
24707
|
+
ctrl.timeRange = initialTimeRange;
|
|
24661
24708
|
ctrl.searchStates = {};
|
|
24662
24709
|
ctrl.selectedReplicas = [];
|
|
24663
24710
|
ctrl.isFiltersShowed = {
|
|
@@ -24671,27 +24718,37 @@ such restriction.
|
|
|
24671
24718
|
ctrl.refreshRate = {
|
|
24672
24719
|
value: '10',
|
|
24673
24720
|
options: [{
|
|
24674
|
-
name:
|
|
24721
|
+
name: $i18next.t('common:EVERY', {
|
|
24722
|
+
lng: lng
|
|
24723
|
+
}) + ' 5 ' + $i18next.t('common:SECONDS', {
|
|
24675
24724
|
lng: lng
|
|
24676
24725
|
}),
|
|
24677
24726
|
value: '5'
|
|
24678
24727
|
}, {
|
|
24679
|
-
name:
|
|
24728
|
+
name: $i18next.t('common:EVERY', {
|
|
24729
|
+
lng: lng
|
|
24730
|
+
}) + ' 10 ' + $i18next.t('common:SECONDS', {
|
|
24680
24731
|
lng: lng
|
|
24681
24732
|
}),
|
|
24682
24733
|
value: '10'
|
|
24683
24734
|
}, {
|
|
24684
|
-
name:
|
|
24735
|
+
name: $i18next.t('common:EVERY', {
|
|
24736
|
+
lng: lng
|
|
24737
|
+
}) + ' 20 ' + $i18next.t('common:SECONDS', {
|
|
24685
24738
|
lng: lng
|
|
24686
24739
|
}),
|
|
24687
24740
|
value: '20'
|
|
24688
24741
|
}, {
|
|
24689
|
-
name:
|
|
24742
|
+
name: $i18next.t('common:EVERY', {
|
|
24743
|
+
lng: lng
|
|
24744
|
+
}) + ' 30 ' + $i18next.t('common:SECONDS', {
|
|
24690
24745
|
lng: lng
|
|
24691
24746
|
}),
|
|
24692
24747
|
value: '30'
|
|
24693
24748
|
}, {
|
|
24694
|
-
name:
|
|
24749
|
+
name: $i18next.t('common:EVERY', {
|
|
24750
|
+
lng: lng
|
|
24751
|
+
}) + ' 1 ' + $i18next.t('common:MINUTE', {
|
|
24695
24752
|
lng: lng
|
|
24696
24753
|
}),
|
|
24697
24754
|
value: '60'
|
|
@@ -24840,9 +24897,7 @@ such restriction.
|
|
|
24840
24897
|
* Triggered when selected replicas list was changed
|
|
24841
24898
|
*/
|
|
24842
24899
|
function onCheckboxChange() {
|
|
24843
|
-
|
|
24844
|
-
ctrl.selectedReplicas = angular.copy(initialReplicas);
|
|
24845
|
-
}
|
|
24900
|
+
ctrl.applyIsDisabled = !ctrl.selectedReplicas;
|
|
24846
24901
|
}
|
|
24847
24902
|
|
|
24848
24903
|
/**
|
|
@@ -24888,7 +24943,9 @@ such restriction.
|
|
|
24888
24943
|
* Reset filters
|
|
24889
24944
|
*/
|
|
24890
24945
|
function resetFilters() {
|
|
24946
|
+
ctrl.applyIsDisabled = false;
|
|
24891
24947
|
ctrl.timeRange = initialTimeRange;
|
|
24948
|
+
ctrl.datePreset = initialDatePreset;
|
|
24892
24949
|
ctrl.selectedReplicas = initialReplicas;
|
|
24893
24950
|
lodash.merge(ctrl.filter, defaultFilter);
|
|
24894
24951
|
$rootScope.$broadcast('search-input_reset');
|
|
@@ -25062,81 +25119,45 @@ such restriction.
|
|
|
25062
25119
|
(function () {
|
|
25063
25120
|
'use strict';
|
|
25064
25121
|
|
|
25065
|
-
|
|
25066
|
-
angular.module('iguazio.dashboard-controls').component('
|
|
25122
|
+
NclVersionConfigurationController.$inject = ["lodash", "ConfigService", "VersionHelperService"];
|
|
25123
|
+
angular.module('iguazio.dashboard-controls').component('nclVersionConfiguration', {
|
|
25067
25124
|
bindings: {
|
|
25068
|
-
version: '<'
|
|
25125
|
+
version: '<',
|
|
25126
|
+
isFunctionDeploying: '&'
|
|
25069
25127
|
},
|
|
25070
|
-
templateUrl: 'nuclio/functions/version/version-
|
|
25071
|
-
controller:
|
|
25128
|
+
templateUrl: 'nuclio/functions/version/version-configuration/version-configuration.tpl.html',
|
|
25129
|
+
controller: NclVersionConfigurationController
|
|
25072
25130
|
});
|
|
25073
|
-
function
|
|
25131
|
+
function NclVersionConfigurationController(lodash, ConfigService, VersionHelperService) {
|
|
25074
25132
|
var ctrl = this;
|
|
25075
|
-
ctrl.enrichedNodeSelectors = [];
|
|
25076
25133
|
ctrl.scrollConfig = {
|
|
25134
|
+
axis: 'y',
|
|
25077
25135
|
advanced: {
|
|
25136
|
+
autoScrollOnFocus: false,
|
|
25078
25137
|
updateOnContentResize: true
|
|
25079
25138
|
}
|
|
25080
25139
|
};
|
|
25081
|
-
ctrl.
|
|
25082
|
-
|
|
25083
|
-
|
|
25084
|
-
},
|
|
25085
|
-
theme: 'light-thin'
|
|
25086
|
-
};
|
|
25087
|
-
ctrl.rowIsCollapsed = {
|
|
25088
|
-
buildLog: false,
|
|
25089
|
-
errorLog: false
|
|
25090
|
-
};
|
|
25091
|
-
ctrl.$onInit = onInit;
|
|
25092
|
-
ctrl.checkIsErrorState = checkIsErrorState;
|
|
25093
|
-
ctrl.onRowCollapse = onRowCollapse;
|
|
25094
|
-
|
|
25095
|
-
//
|
|
25096
|
-
// Hook methods
|
|
25097
|
-
//
|
|
25098
|
-
|
|
25099
|
-
/**
|
|
25100
|
-
* Initialization method
|
|
25101
|
-
*/
|
|
25102
|
-
function onInit() {
|
|
25103
|
-
ctrl.isFunctionDeploying = lodash.partial(FunctionsService.isFunctionDeploying, ctrl.version);
|
|
25104
|
-
initEnrichedNodeSelectors();
|
|
25105
|
-
}
|
|
25140
|
+
ctrl.isDemoMode = ConfigService.isDemoMode;
|
|
25141
|
+
ctrl.isRuntimeBlockVisible = isRuntimeBlockVisible;
|
|
25142
|
+
ctrl.onConfigurationChangeCallback = onConfigurationChangeCallback;
|
|
25106
25143
|
|
|
25107
25144
|
//
|
|
25108
25145
|
// Public methods
|
|
25109
25146
|
//
|
|
25110
25147
|
|
|
25111
25148
|
/**
|
|
25112
|
-
* Checks if
|
|
25149
|
+
* Checks if `Runtime Attributes` block is visible
|
|
25113
25150
|
* @returns {boolean}
|
|
25114
25151
|
*/
|
|
25115
|
-
function
|
|
25116
|
-
return lodash.includes(['
|
|
25117
|
-
}
|
|
25118
|
-
|
|
25119
|
-
/**
|
|
25120
|
-
* Generates a node selectors list
|
|
25121
|
-
*/
|
|
25122
|
-
function initEnrichedNodeSelectors() {
|
|
25123
|
-
ctrl.enrichedNodeSelectors = lodash.chain(ctrl.version).get('status.enrichedNodeSelector', {}).map(function (key, value) {
|
|
25124
|
-
return {
|
|
25125
|
-
name: value,
|
|
25126
|
-
value: key
|
|
25127
|
-
};
|
|
25128
|
-
}).value();
|
|
25152
|
+
function isRuntimeBlockVisible() {
|
|
25153
|
+
return lodash.includes(['shell', 'java'], lodash.get(ctrl.version, 'spec.runtime'));
|
|
25129
25154
|
}
|
|
25130
25155
|
|
|
25131
25156
|
/**
|
|
25132
|
-
*
|
|
25133
|
-
* @param {string} row - name of expanded/collapsed row
|
|
25157
|
+
* Checks if version's configuration was changed
|
|
25134
25158
|
*/
|
|
25135
|
-
function
|
|
25136
|
-
|
|
25137
|
-
$timeout(function () {
|
|
25138
|
-
$rootScope.$broadcast('igzWatchWindowResize::resize');
|
|
25139
|
-
}, 350);
|
|
25159
|
+
function onConfigurationChangeCallback() {
|
|
25160
|
+
VersionHelperService.updateIsVersionChanged(ctrl.version);
|
|
25140
25161
|
}
|
|
25141
25162
|
}
|
|
25142
25163
|
})();
|
|
@@ -25224,6 +25245,7 @@ such restriction.
|
|
|
25224
25245
|
ctrl.editTriggerCallback = editTriggerCallback;
|
|
25225
25246
|
ctrl.handleAction = handleAction;
|
|
25226
25247
|
ctrl.isCreateNewTriggerEnabled = isCreateNewTriggerEnabled;
|
|
25248
|
+
ctrl.isHttpTriggerCheckboxShown = isHttpTriggerCheckboxShown;
|
|
25227
25249
|
ctrl.isHttpTriggerMsgShown = isHttpTriggerMsgShown;
|
|
25228
25250
|
|
|
25229
25251
|
//
|
|
@@ -25391,13 +25413,20 @@ such restriction.
|
|
|
25391
25413
|
});
|
|
25392
25414
|
}
|
|
25393
25415
|
|
|
25416
|
+
/**
|
|
25417
|
+
* Tests whether the `Do not create http trigger by default` checkbox is shown
|
|
25418
|
+
* @returns {boolean}
|
|
25419
|
+
*/
|
|
25420
|
+
function isHttpTriggerCheckboxShown() {
|
|
25421
|
+
return !lodash.get(ConfigService, 'nuclio.disableDefaultHttpTrigger', false) && !lodash.some(ctrl.version.spec.triggers, ['kind', 'http']);
|
|
25422
|
+
}
|
|
25423
|
+
|
|
25394
25424
|
/**
|
|
25395
25425
|
* Tests whether the `HTTP trigger message` is shown
|
|
25396
25426
|
* @returns {boolean} `true` in case "HTTP trigger message" is shown, or `false` otherwise.
|
|
25397
25427
|
*/
|
|
25398
25428
|
function isHttpTriggerMsgShown() {
|
|
25399
|
-
|
|
25400
|
-
return !disableDefaultHttpTrigger && !lodash.some(ctrl.version.spec.triggers, ['kind', 'http']);
|
|
25429
|
+
return isHttpTriggerCheckboxShown() && !ctrl.version.spec.disableDefaultHTTPTrigger;
|
|
25401
25430
|
}
|
|
25402
25431
|
|
|
25403
25432
|
//
|
|
@@ -27822,9 +27851,8 @@ try {
|
|
|
27822
27851
|
module = angular.module('iguazio.dashboard-controls.templates', []);
|
|
27823
27852
|
}
|
|
27824
27853
|
module.run(['$templateCache', function($templateCache) {
|
|
27825
|
-
$templateCache.put('igz_controls/components/
|
|
27826
|
-
'<div class="
|
|
27827
|
-
' active: $ctrl.isInfoPaneOpened}" data-ng-if="$ctrl.closeInfoPane || $ctrl.infoPaneToggleMethod" data-uib-tooltip="{{ \'common:INFO_PANE\' | i18next }}" data-tooltip-append-to-body="true" data-tooltip-placement="bottom" data-tooltip-popup-delay="1000" data-ng-click="$ctrl.callToggleMethod()"> <div class="action-icon igz-icon-info-round"></div> </div> </div> </div> </div> ');
|
|
27854
|
+
$templateCache.put('igz_controls/components/action-panel/action-panel.tpl.html',
|
|
27855
|
+
'<div class="igz-action-panel" data-igz-right-click data-ng-show="$ctrl.isActionPanelShown()"> <div class="actions-list clearfix" data-ng-show="$ctrl.mainActions.length > 0 || $ctrl.remainingActions.length > 0"> <igz-action-item data-ng-repeat="action in $ctrl.mainActions" data-action="action"> </igz-action-item> <igz-action-item-more data-ng-if="$ctrl.remainingActions.length !== 0" data-actions="$ctrl.remainingActions"> <div class="transclude-container" data-ng-transclude></div> </igz-action-item-more> </div> <div class="actions-list empty" data-ng-show="$ctrl.mainActions.length === 0 && $ctrl.remainingActions.length === 0"> {{ \'common:NO_ACTIONS\' | i18next }} </div> </div> ');
|
|
27828
27856
|
}]);
|
|
27829
27857
|
})();
|
|
27830
27858
|
|
|
@@ -27835,8 +27863,9 @@ try {
|
|
|
27835
27863
|
module = angular.module('iguazio.dashboard-controls.templates', []);
|
|
27836
27864
|
}
|
|
27837
27865
|
module.run(['$templateCache', function($templateCache) {
|
|
27838
|
-
$templateCache.put('igz_controls/components/
|
|
27839
|
-
'<div class="
|
|
27866
|
+
$templateCache.put('igz_controls/components/actions-panes/actions-panes.tpl.html',
|
|
27867
|
+
'<div class="actions-bar-left actions-panes-block"> <div class="igz-action-panel"> <div class="actions-list"> <div class="igz-action-item" data-ng-class="{active: $ctrl.isFiltersOpened}" data-ng-if="$ctrl.isShowFilterActionIcon()" data-uib-tooltip="{{ \'common:FILTER\' | i18next }}" data-tooltip-append-to-body="true" data-tooltip-placement="bottom" data-tooltip-popup-delay="1000" data-ng-click="$ctrl.filtersToggleMethod()"> <div class="action-icon igz-icon-filter"></div> <span data-ng-if="$ctrl.filtersCounter" class="filter-counter">{{$ctrl.filtersCounter}}</span> </div> <div class="igz-action-item last-item" data-ng-class="{inactive: (!$ctrl.isInfoPaneOpened && !$ctrl.infoPaneToggleMethod) || $ctrl.infoPaneDisable,\n' +
|
|
27868
|
+
' active: $ctrl.isInfoPaneOpened}" data-ng-if="$ctrl.closeInfoPane || $ctrl.infoPaneToggleMethod" data-uib-tooltip="{{ \'common:INFO_PANE\' | i18next }}" data-tooltip-append-to-body="true" data-tooltip-placement="bottom" data-tooltip-popup-delay="1000" data-ng-click="$ctrl.callToggleMethod()"> <div class="action-icon igz-icon-info-round"></div> </div> </div> </div> </div> ');
|
|
27840
27869
|
}]);
|
|
27841
27870
|
})();
|
|
27842
27871
|
|
|
@@ -27900,8 +27929,8 @@ try {
|
|
|
27900
27929
|
module = angular.module('iguazio.dashboard-controls.templates', []);
|
|
27901
27930
|
}
|
|
27902
27931
|
module.run(['$templateCache', function($templateCache) {
|
|
27903
|
-
$templateCache.put('igz_controls/components/
|
|
27904
|
-
'<div class="
|
|
27932
|
+
$templateCache.put('igz_controls/components/import-project-dialog/import-project-dialog.tpl.html',
|
|
27933
|
+
'<div class="import-project-dialog">{{$ctrl.dialogTitle}}</div> <igz-multiple-checkboxes data-ng-model="$ctrl.option" data-options="$ctrl.optionList" data-ng-change="$ctrl.onCheckboxChange($event)" data-ng-required="true" data-base-id="import-project-option_"> </igz-multiple-checkboxes> <div class="buttons"> <button class="igz-button-just-text" data-ng-click="$ctrl.onClose(\'skip\')"> {{ \'functions:SKIP\' | i18next }} </button> <button class="igz-button-primary" data-ng-click="$ctrl.onClose(\'replace\')"> {{ \'functions:REPLACE\' | i18next }} </button> </div>');
|
|
27905
27934
|
}]);
|
|
27906
27935
|
})();
|
|
27907
27936
|
|
|
@@ -27912,8 +27941,8 @@ try {
|
|
|
27912
27941
|
module = angular.module('iguazio.dashboard-controls.templates', []);
|
|
27913
27942
|
}
|
|
27914
27943
|
module.run(['$templateCache', function($templateCache) {
|
|
27915
|
-
$templateCache.put('igz_controls/components/
|
|
27916
|
-
'<div class="
|
|
27944
|
+
$templateCache.put('igz_controls/components/element-loading-status/element-loading-status.tpl.html',
|
|
27945
|
+
'<div class="element-loading-status" data-ng-class="\'loading-status-\' + $ctrl.loadingStatusSize"> <div class="loader-wrapper" data-ng-if="$ctrl.isShowSpinner"> <div class="loader-fading-circle" data-ng-if="!$ctrl.textStatus" data-uib-tooltip="{{$ctrl.tooltipLabel}}" data-tooltip-placement="top" data-tooltip-popup-delay="100" data-tooltip-append-to-body="true"> <div class="loader-circle1 loader-circle"></div> <div class="loader-circle2 loader-circle"></div> <div class="loader-circle3 loader-circle"></div> <div class="loader-circle4 loader-circle"></div> <div class="loader-circle5 loader-circle"></div> <div class="loader-circle6 loader-circle"></div> <div class="loader-circle7 loader-circle"></div> <div class="loader-circle8 loader-circle"></div> <div class="loader-circle9 loader-circle"></div> <div class="loader-circle10 loader-circle"></div> <div class="loader-circle11 loader-circle"></div> <div class="loader-circle12 loader-circle"></div> </div> <div data-ng-if="$ctrl.textStatus" class="loader-text">{{ \'common:LOADING_CAPITALIZE_ELLIPSIS\' | i18next }}</div> </div> <div data-ng-if="$ctrl.isShowContent && !$ctrl.isShowError"> <div data-ng-transclude></div> </div> <div class="loading-error" data-ng-if="$ctrl.isShowError && $ctrl.checkSize(\'default\')"> <div class="sad-icon"></div> <div class="loading-error-title">{{$ctrl.title}}</div> <div class="loading-error-message"> <span data-ng-bind="$ctrl.errorMessage"></span> <span data-ng-if="$ctrl.refresh"> <span>{{ \'common:ERROR_MSG.ELEMENT_LOADING_DEFAULT_2\' | i18next }}</span> <span class="refresh-page" data-ng-click="$ctrl.refreshPage($event)"> {{ \'common:ERROR_MSG.ELEMENT_LOADING_DEFAULT_3\' | i18next }} </span>. </span> </div> </div> <div class="loading-error" data-ng-if="$ctrl.isShowError && $ctrl.checkSize(\'small\')"> <div class="loading-error-title"></div> <div class="loading-error-message"> <div> {{ \'common:ERROR_MSG.ELEMENT_LOADING_SMALL_1\' | i18next }} </div> <div class="refresh-page" data-ng-click="$ctrl.refreshPage($event)" title="{{ \'common:ERROR_MSG.ELEMENT_LOADING_SMALL_2\' | i18next }}"> {{ \'common:ERROR_MSG.ELEMENT_LOADING_SMALL_2\' | i18next }} </div> </div> </div> </div> ');
|
|
27917
27946
|
}]);
|
|
27918
27947
|
})();
|
|
27919
27948
|
|
|
@@ -27959,7 +27988,7 @@ module.run(['$templateCache', function($templateCache) {
|
|
|
27959
27988
|
' \'igz-icon-checkbox-checked-few\': group.itemsChecked > 0 && !group.allItemsChecked,\n' +
|
|
27960
27989
|
' \'igz-icon-checkbox-unchecked\': group.itemsChecked === 0}" data-ng-click="$ctrl.onCheckAllItems($event, name)"> </div> <div class="checkboxes-group-name">{{group.name}}</div> <div data-ng-if="group.addingEnabled" class="checkboxes-add-item"> <button class="checkboxes-add-item-button igz-icon-add" data-ng-click="$ctrl.toggleAddItemField(group, name)" data-uib-tooltip="{{ \'common:TOOLTIP.ADD_NEW\' | i18next }}" data-tooltip-enable="true" data-tooltip-placement="top" data-tooltip-popup-delay="200" data-tooltip-append-to-body="true"></button> </div> </div> <ul data-ng-if="group.visible" class="checkboxes-list"> <li data-ng-if="group.addingEnabled && group.addItemInputVisible" class="checkboxes-add-item"> <igz-validating-input-field class="add-item-input" data-field-type="input" data-is-focused="true" data-ng-class="{\'active\': $ctrl.isSearchInputFocused}" data-item-blur-callback="$ctrl.addItem(inputValue, group, name)"> </igz-validating-input-field> </li> <li class="multiple-checkboxes-option" data-ng-if="item.visibility" data-ng-repeat="item in group.options track by $index"> <input class="multiple-checkboxes-option-input" id="{{item.id}}" type="checkbox" data-ng-model="item.checked" data-ng-change="$ctrl.updateViewValue()" data-ng-disabled="$ctrl.isDisabled(item)" data-ng-show="!item.filtered"> <label class="multiple-checkboxes-option-label" for="{{item.id}}" data-ng-class="{\'disabled\': $ctrl.isDisabled(item)}" data-ng-show="!item.filtered" data-tooltip-enable="{{item.enableTooltip}}" data-uib-tooltip="{{item.tooltipText}}" data-tooltip-placement="left" data-tooltip-popup-delay="200" data-tooltip-append-to-body="true"> {{item.label}} </label> </li> </ul> </div> </div> <div data-ng-if="!$ctrl.groups && $ctrl.selectAllNone" class="checkboxes-header"> <div class="master-checkbox" data-ng-class="{\'igz-icon-checkbox-checked\': $ctrl.isAllItemsChecked,\n' +
|
|
27961
27990
|
' \'igz-icon-checkbox-checked-few\': $ctrl.checkedItemsCount > 0 && !$ctrl.isAllItemsChecked,\n' +
|
|
27962
|
-
' \'igz-icon-checkbox-unchecked\': $ctrl.checkedItemsCount === 0}" data-ng-click="$ctrl.onCheckAllItems($event)"> </div> </div> <ul data-ng-if="!$ctrl.groups" class="checkboxes-list checkboxes-regular-list"> <li class="multiple-checkboxes-option" data-ng-if="item.visibility" data-ng-repeat="item in $ctrl.optionList track by $index"> <input class="multiple-checkboxes-option-input" id="{{item.id}}" type="checkbox" data-ng-model="item.checked" data-ng-show="!item.filtered" data-ng-change="$ctrl.updateViewValue()" data-ng-disabled="$ctrl.isDisabled(item)"> <label class="multiple-checkboxes-option-label" for="{{item.id}}" data-ng-class="{\'disabled\': $ctrl.isDisabled(item)}" data-tooltip-enable="{{item.enableTooltip}}" data-uib-tooltip="{{item.tooltipText}}" data-ng-show="!item.filtered" data-tooltip-placement="left" data-tooltip-popup-delay="200" data-tooltip-append-to-body="true"> {{item.label}} </label> </li> </ul> </div> <div data-ng-if="$ctrl.dropdownApply" class="checkboxes-bottom-bar"> <button class="igz-button-just-text small" data-ng-click="$ctrl.onCancel($event)"> {{ \'common:CANCEL\' | i18next }} </button> <button class="igz-button-primary small" data-ng-click="$ctrl.onApply($event)" data-ng-disabled="$ctrl.isApplyButtonDisabled"> {{ \'common:APPLY\' | i18next }} </button> </div> </div> <div data-ng-if="!$ctrl.dropdown && !$ctrl.groups && $ctrl.selectAllNone" class="checkboxes-header"> <div class="master-checkbox" data-ng-class="{\'igz-icon-checkbox-checked\': $ctrl.isAllItemsChecked,\n' +
|
|
27991
|
+
' \'igz-icon-checkbox-unchecked\': $ctrl.checkedItemsCount === 0}" data-ng-click="$ctrl.onCheckAllItems($event)"> <span class="select-all-option">{{ \'common:SELECT_ALL\' | i18next }}</span> </div> </div> <ul data-ng-if="!$ctrl.groups" class="checkboxes-list checkboxes-regular-list"> <li class="multiple-checkboxes-option" data-ng-if="item.visibility" data-ng-repeat="item in $ctrl.optionList track by $index"> <input class="multiple-checkboxes-option-input" id="{{item.id}}" type="checkbox" data-ng-model="item.checked" data-ng-show="!item.filtered" data-ng-change="$ctrl.updateViewValue()" data-ng-disabled="$ctrl.isDisabled(item)"> <label class="multiple-checkboxes-option-label" for="{{item.id}}" data-ng-class="{\'disabled\': $ctrl.isDisabled(item)}" data-tooltip-enable="{{item.enableTooltip}}" data-uib-tooltip="{{item.tooltipText}}" data-ng-show="!item.filtered" data-tooltip-placement="left" data-tooltip-popup-delay="200" data-tooltip-append-to-body="true"> {{item.label}} </label> </li> </ul> </div> <div data-ng-if="$ctrl.dropdownApply" class="checkboxes-bottom-bar"> <button class="igz-button-just-text small" data-ng-click="$ctrl.onCancel($event)"> {{ \'common:CANCEL\' | i18next }} </button> <button class="igz-button-primary small" data-ng-click="$ctrl.onApply($event)" data-ng-disabled="$ctrl.isApplyButtonDisabled"> {{ \'common:APPLY\' | i18next }} </button> </div> </div> <div data-ng-if="!$ctrl.dropdown && !$ctrl.groups && $ctrl.selectAllNone" class="checkboxes-header"> <div class="master-checkbox" data-ng-class="{\'igz-icon-checkbox-checked\': $ctrl.isAllItemsChecked,\n' +
|
|
27963
27992
|
' \'igz-icon-checkbox-checked-few\': $ctrl.checkedItemsCount > 0 && !$ctrl.isAllItemsChecked,\n' +
|
|
27964
27993
|
' \'igz-icon-checkbox-unchecked\': $ctrl.checkedItemsCount === 0}" data-ng-click="$ctrl.onCheckAllItems($event)"> </div> </div> <ul class="igz-multiple-checkboxes-list" data-ng-if="!$ctrl.dropdown && !$ctrl.groups"> <li class="multiple-checkboxes-option" data-ng-if="item.visibility" data-ng-repeat="item in $ctrl.optionList track by $index"> <input class="multiple-checkboxes-option-input" id="{{item.id}}" type="checkbox" data-ng-model="item.checked" data-ng-change="$ctrl.updateViewValue()" data-ng-disabled="$ctrl.isDisabled(item)"> <label class="multiple-checkboxes-option-label" for="{{item.id}}" data-ng-class="{\'disabled\': $ctrl.isDisabled(item)}" data-tooltip-enable="{{item.enableTooltip}}" data-uib-tooltip="{{item.tooltipText}}" data-tooltip-placement="left" data-tooltip-popup-delay="200" data-tooltip-append-to-body="true"> {{item.label}} </label> <igz-more-info data-ng-if="item.moreInfo" data-description="{{item.moreInfo}}" data-default-tooltip-placement="top"> </igz-more-info> </li> </ul> <div data-ng-if="$ctrl.groups && !$ctrl.dropdown" class="checkboxes-groups-wrapper"> <div data-ng-repeat="(name, group) in $ctrl.optionList" class="checkboxes-groups"> <div data-ng-if="$ctrl.selectAllNone && group.visible" class="group-title"> <div class="master-checkbox" data-ng-class="{\'igz-icon-checkbox-checked\': group.allItemsChecked,\n' +
|
|
27965
27994
|
' \'igz-icon-checkbox-checked-few\': group.itemsChecked > 0 && !group.allItemsChecked,\n' +
|
|
@@ -28046,18 +28075,6 @@ module.run(['$templateCache', function($templateCache) {
|
|
|
28046
28075
|
}]);
|
|
28047
28076
|
})();
|
|
28048
28077
|
|
|
28049
|
-
(function(module) {
|
|
28050
|
-
try {
|
|
28051
|
-
module = angular.module('iguazio.dashboard-controls.templates');
|
|
28052
|
-
} catch (e) {
|
|
28053
|
-
module = angular.module('iguazio.dashboard-controls.templates', []);
|
|
28054
|
-
}
|
|
28055
|
-
module.run(['$templateCache', function($templateCache) {
|
|
28056
|
-
$templateCache.put('igz_controls/components/sort-dropdown/sort-dropdown.tpl.html',
|
|
28057
|
-
'<div class="igz-custom-dropdown dropdown" data-uib-dropdown data-is-open="$ctrl.isOpen"> <div class="igz-action-item" data-ng-class="{ \'subtemplate-show\': $ctrl.isOpen }" data-uib-dropdown-toggle data-uib-tooltip="{{ \'common:TOOLTIP.SORT\' | i18next }}" data-tooltip-append-to-body="true" data-tooltip-placement="top"> <span class="action-icon igz-icon-sort"></span> </div> <ul class="dropdown-menu dropdown-list" data-ng-if="$ctrl.isOpen"> <li class="dropdown-menu-item" data-ng-repeat="option in $ctrl.sortOptions track by option.value" data-ng-show="option.visible" data-ng-click="$ctrl.handleOptionClick(option)"> <span class="item-name" data-ng-class="{ \'active-item\': option.active }">{{option.label}}</span> <span class="igz-icon-sort-{{option.desc ? \'down\' : \'up\'}}" data-ng-show="option.active"> </span> </li> </ul> </div> ');
|
|
28058
|
-
}]);
|
|
28059
|
-
})();
|
|
28060
|
-
|
|
28061
28078
|
(function(module) {
|
|
28062
28079
|
try {
|
|
28063
28080
|
module = angular.module('iguazio.dashboard-controls.templates');
|
|
@@ -28077,8 +28094,8 @@ try {
|
|
|
28077
28094
|
module = angular.module('iguazio.dashboard-controls.templates', []);
|
|
28078
28095
|
}
|
|
28079
28096
|
module.run(['$templateCache', function($templateCache) {
|
|
28080
|
-
$templateCache.put('igz_controls/components/
|
|
28081
|
-
'<div class="
|
|
28097
|
+
$templateCache.put('igz_controls/components/sort-dropdown/sort-dropdown.tpl.html',
|
|
28098
|
+
'<div class="igz-custom-dropdown dropdown" data-uib-dropdown data-is-open="$ctrl.isOpen"> <div class="igz-action-item" data-ng-class="{ \'subtemplate-show\': $ctrl.isOpen }" data-uib-dropdown-toggle data-uib-tooltip="{{ \'common:TOOLTIP.SORT\' | i18next }}" data-tooltip-append-to-body="true" data-tooltip-placement="top"> <span class="action-icon igz-icon-sort"></span> </div> <ul class="dropdown-menu dropdown-list" data-ng-if="$ctrl.isOpen"> <li class="dropdown-menu-item" data-ng-repeat="option in $ctrl.sortOptions track by option.value" data-ng-show="option.visible" data-ng-click="$ctrl.handleOptionClick(option)"> <span class="item-name" data-ng-class="{ \'active-item\': option.active }">{{option.label}}</span> <span class="igz-icon-sort-{{option.desc ? \'down\' : \'up\'}}" data-ng-show="option.active"> </span> </li> </ul> </div> ');
|
|
28082
28099
|
}]);
|
|
28083
28100
|
})();
|
|
28084
28101
|
|
|
@@ -28089,8 +28106,8 @@ try {
|
|
|
28089
28106
|
module = angular.module('iguazio.dashboard-controls.templates', []);
|
|
28090
28107
|
}
|
|
28091
28108
|
module.run(['$templateCache', function($templateCache) {
|
|
28092
|
-
$templateCache.put('igz_controls/components/
|
|
28093
|
-
'<div class="
|
|
28109
|
+
$templateCache.put('igz_controls/components/text-edit/text-edit.tpl.html',
|
|
28110
|
+
'<div class="text-preview-directive-wrapper"> <div class="title text-ellipsis" tooltip="{{::$ctrl.label}}" data-tooltip-append-to-body="true" data-tooltip-popup-delay="400" data-tooltip-placement="bottom-left"> {{::$ctrl.label}} </div> <div class="text-preview-wrapper"> <div class="word-wrap-checkbox-wrapper"> <div class="word-wrap-checkbox col-50 col-checkbox"> <input id="wrap-checkbox" type="checkbox" data-ng-model="$ctrl.enableWordWrap"> <label for="wrap-checkbox">{{ \'common:WRAP\' | i18next }}</label> </div> </div> <ncl-monaco class="monaco-code-editor" data-function-source-code="$ctrl.content" data-selected-theme="\'vs-light\'" data-language="$ctrl.language" data-on-change-source-code-callback="$ctrl.onChangeText(sourceCode)" data-word-wrap="$ctrl.enableWordWrap"> </ncl-monaco> </div> <div class="close-button igz-icon-close" data-ng-click="$ctrl.onClose()"></div> <div class="buttons"> <button class="igz-button-just-text" tabindex="0" data-ng-hide="$ctrl.isLoadingState" data-ng-click="$ctrl.onClose()" data-ng-keydown="$ctrl.onClose($event)" data-test-id="general.text-edit_close.button"> {{::$ctrl.closeButtonText}} </button> <button class="igz-button-primary" tabindex="0" data-ng-hide="$ctrl.isLoadingState" data-ng-class="{\'disabled\': !$ctrl.fileChanged}" data-ng-click="$ctrl.onSubmit()" data-test-id="general.text-edit_save.button"> {{::$ctrl.submitButtonText}} </button> <button class="igz-button-primary" data-ng-show="$ctrl.isLoadingState"> {{ \'common:LOADING_CAPITALIZE_ELLIPSIS\' | i18next }} </button> <button class="error-text text-centered error-relative" data-ng-hide="$ctrl.serverError === \'\'"> {{ \'common:ERROR_COLON\' | i18next }} {{$ctrl.serverError}} </button> </div> </div> ');
|
|
28094
28111
|
}]);
|
|
28095
28112
|
})();
|
|
28096
28113
|
|
|
@@ -28123,6 +28140,18 @@ module.run(['$templateCache', function($templateCache) {
|
|
|
28123
28140
|
}]);
|
|
28124
28141
|
})();
|
|
28125
28142
|
|
|
28143
|
+
(function(module) {
|
|
28144
|
+
try {
|
|
28145
|
+
module = angular.module('iguazio.dashboard-controls.templates');
|
|
28146
|
+
} catch (e) {
|
|
28147
|
+
module = angular.module('iguazio.dashboard-controls.templates', []);
|
|
28148
|
+
}
|
|
28149
|
+
module.run(['$templateCache', function($templateCache) {
|
|
28150
|
+
$templateCache.put('igz_controls/components/toast-status-panel/toast-status-panel.tpl.html',
|
|
28151
|
+
'<div class="toast-status-panel" data-ng-show="$ctrl.isToastPanelShown"> <div class="btn-close igz-icon-close" data-ng-if="!$ctrl.permanent && $ctrl.panelState !== \'in-progress\'" data-ng-click="$ctrl.closeToastPanel()"> </div> <div class="panel-status"> <span class="panel-status-icon"></span> <div class="igz-scrollable-container msg-scrollable-container" data-ng-scrollbars> <div class="panel-status-msg" data-ng-if="$ctrl.isTranscludePassed" data-ng-transclude></div> <div class="panel-status-msg" data-ng-if="!$ctrl.isTranscludePassed"> {{$ctrl.getStateMessage($ctrl.panelState)}} </div> </div> </div> </div> ');
|
|
28152
|
+
}]);
|
|
28153
|
+
})();
|
|
28154
|
+
|
|
28126
28155
|
(function(module) {
|
|
28127
28156
|
try {
|
|
28128
28157
|
module = angular.module('iguazio.dashboard-controls.templates');
|
|
@@ -28163,8 +28192,8 @@ try {
|
|
|
28163
28192
|
module = angular.module('iguazio.dashboard-controls.templates', []);
|
|
28164
28193
|
}
|
|
28165
28194
|
module.run(['$templateCache', function($templateCache) {
|
|
28166
|
-
$templateCache.put('nuclio/functions/
|
|
28167
|
-
'<div class="
|
|
28195
|
+
$templateCache.put('nuclio/functions/duplicate-function-dialog/duplicate-function-dialog.tpl.html',
|
|
28196
|
+
'<div class="close-button igz-icon-close" data-ng-click="$ctrl.onClose()"></div> <div class="title"> {{ \'functions:DUPLICATE_FUNCTION\' | i18next }} </div> <div class="main-content"> <form name="$ctrl.duplicateFunctionForm" novalidate data-ng-keydown="$ctrl.duplicateFunction($event)"> <div class="field-group function-name-group"> <div class="field-label function-name-label"> {{ \'common:FUNCTION_NAME\' | i18next }} </div> <div class="field-input function-name-input"> <igz-validating-input-field data-field-type="input" data-input-name="name" data-input-value="$ctrl.newFunctionName" data-is-focused="true" data-form-object="$ctrl.duplicateFunctionForm" data-update-data-callback="$ctrl.inputValueCallback(newData, field)" data-validation-is-required="true" data-validation-rules="$ctrl.validationRules.functionName" data-validation-max-length="{{$ctrl.maxLengths.functionName}}" data-placeholder-text="{{ \'functions:PLACEHOLDER.ENTER_FUNCTION_NAME\' | i18next }}"> </igz-validating-input-field> </div> </div> <div class="subtitle" data-ng-if="$ctrl.duplicateInputFieldsData.length > 0"> {{ \'functions:DUPLICATE_FUNCTION_SUBTITLE\' | i18next }} </div> <div class="field-group" data-ng-repeat="inputFieldData in $ctrl.duplicateInputFieldsData track by inputFieldData.path"> <div class="field-label function-configuration-label"> {{inputFieldData.title}} <igz-more-info data-ng-if="inputFieldData.moreInfoData" data-description="{{inputFieldData.moreInfoData}}" data-default-tooltip-placement="top"> </igz-more-info> </div> <div class="field-label function-configuration-path"> {{ \'common:PATH\' | i18next }}: {{inputFieldData.path}} </div> <div class="field-input function-configuration-input"> <igz-validating-input-field data-field-type="input" data-input-name="{{inputFieldData.path}}" data-form-object="$ctrl.duplicateFunctionForm" data-update-data-callback="$ctrl.inputValueCallback(newData, field)" data-validation-is-required="true" data-placeholder-text="{{ \'functions:PLACEHOLDER.ENTER_VALUE\' | i18next }}"> </igz-validating-input-field> </div> </div> </form> </div> <div class="buttons"> <button class="ncl-secondary-button igz-button-just-text" data-test-id="functions.duplicate_function_cancel.button" tabindex="0" data-ng-click="$ctrl.onClose()" data-ng-keydown="$ctrl.onClose($event)"> {{ \'common:CANCEL\' | i18next }} </button> <button class="ncl-primary-button igz-button-primary" data-test-id="functions.duplicate_function_duplicate.button" tabindex="0" data-ng-click="$ctrl.duplicateFunction()" data-ng-keydown="$ctrl.duplicateFunction($event)" data-ng-hide="$ctrl.isLoadingState"> {{ \'common:DUPLICATE\' | i18next }} </button> <button class="ncl-primary-button igz-button-primary" data-ng-show="$ctrl.isLoadingState"> {{ \'common:LOADING_CAPITALIZE_ELLIPSIS\' | i18next }} </button> </div> ');
|
|
28168
28197
|
}]);
|
|
28169
28198
|
})();
|
|
28170
28199
|
|
|
@@ -28175,8 +28204,8 @@ try {
|
|
|
28175
28204
|
module = angular.module('iguazio.dashboard-controls.templates', []);
|
|
28176
28205
|
}
|
|
28177
28206
|
module.run(['$templateCache', function($templateCache) {
|
|
28178
|
-
$templateCache.put('nuclio/functions/
|
|
28179
|
-
'<div class="
|
|
28207
|
+
$templateCache.put('nuclio/functions/deploy-deleted-function-dialog/deploy-deleted-function-dialog.tpl.html',
|
|
28208
|
+
'<div class="deploy-deleted-function-dialog"> <div class="close-button igz-icon-close" data-ng-click="$ctrl.onClose()"></div> <div class="title"> {{ \'functions:DELETED_FUNCTION_WHILE_DEPLOYING_MSG\' | i18next }} </div> <div class="buttons"> <button class="ncl-secondary-button igz-button-just-text" tabindex="0" data-ng-click="$ctrl.goToFunctions()"> {{ \'functions:GO_TO_FUNCTIONS\' | i18next }} </button> <button class="ncl-primary-button igz-button-primary" tabindex="1" data-ng-click="$ctrl.deployFunction($event)"> {{ \'functions:DEPLOY\' | i18next }} </button> </div> </div> ');
|
|
28180
28209
|
}]);
|
|
28181
28210
|
})();
|
|
28182
28211
|
|
|
@@ -28277,8 +28306,8 @@ try {
|
|
|
28277
28306
|
module = angular.module('iguazio.dashboard-controls.templates', []);
|
|
28278
28307
|
}
|
|
28279
28308
|
module.run(['$templateCache', function($templateCache) {
|
|
28280
|
-
$templateCache.put('igz_controls/components/info-page/info-page-
|
|
28281
|
-
'<div class="info-page-
|
|
28309
|
+
$templateCache.put('igz_controls/components/info-page/info-page-content/info-page-content.tpl.html',
|
|
28310
|
+
'<div class="igz-info-page-content-wrapper" data-ng-class="{\'info-pane-opened\' : $ctrl.isInfoPaneShowed, \'filters-opened\' : $ctrl.isFiltersShowed, \'upper-pane-opened\' : $ctrl.isUpperPaneShowed}"> <div data-ng-if="$ctrl.scrolled !== false" class="igz-scrollable-container horizontal" data-ng-scrollbars data-ng-scrollbars-config="$ctrl.scrollConfigHorizontal"> <div class="igz-info-page-content"> <div data-ng-transclude></div> </div> </div> <div data-ng-if="$ctrl.scrolled === false"> <div class="igz-info-page-content"> <div data-ng-transclude></div> </div> </div> </div>');
|
|
28282
28311
|
}]);
|
|
28283
28312
|
})();
|
|
28284
28313
|
|
|
@@ -28289,8 +28318,8 @@ try {
|
|
|
28289
28318
|
module = angular.module('iguazio.dashboard-controls.templates', []);
|
|
28290
28319
|
}
|
|
28291
28320
|
module.run(['$templateCache', function($templateCache) {
|
|
28292
|
-
$templateCache.put('igz_controls/components/info-page/info-page-
|
|
28293
|
-
'<div class="
|
|
28321
|
+
$templateCache.put('igz_controls/components/info-page/info-page-filters/info-page-filters.tpl.html',
|
|
28322
|
+
'<div class="info-page-filters-wrapper"> <div class="info-page-filters" data-ng-show="$ctrl.isFiltersShowed" data-ng-keyup="$ctrl.onApplyFilters($event)"> <div class="info-page-filters-title">{{ \'common:FILTER\' | i18next }}</div> <div class="close-button igz-icon-close" data-ng-click="$ctrl.changeStateCallback({newVal: false})" data-ng-show="$ctrl.changeStateCallback"> </div> <div class="info-page-filters-body" data-ng-class="{\'buttons-shown\' : $ctrl.isShowFooterButtons()}" data-ng-scrollbars data-ng-scrollbars-config="$ctrl.scrollbarConfig"> <div data-ng-transclude></div> </div> <div class="info-page-filters-footer" data-ng-if="$ctrl.isShowFooterButtons()"> <button class="igz-button-just-text" tabindex="0" data-ng-click="$ctrl.onResetFilters()" data-ng-keydown="$ctrl.onResetFilters($event)" data-ng-disabled="$ctrl.isDisabled" data-ng-if="$ctrl.resetFilters">{{ \'common:RESET\' | i18next }} </button> <button class="igz-button-primary" tabindex="0" data-ng-click="$ctrl.onApplyFilters()" data-ng-keydown="$ctrl.onApplyFilters($event)" data-ng-disabled="$ctrl.isDisabled || $ctrl.applyIsDisabled" data-ng-if="$ctrl.applyFilters">{{ \'common:APPLY\' | i18next }} </button> </div> </div> </div> ');
|
|
28294
28323
|
}]);
|
|
28295
28324
|
})();
|
|
28296
28325
|
|
|
@@ -28325,8 +28354,9 @@ try {
|
|
|
28325
28354
|
module = angular.module('iguazio.dashboard-controls.templates', []);
|
|
28326
28355
|
}
|
|
28327
28356
|
module.run(['$templateCache', function($templateCache) {
|
|
28328
|
-
$templateCache.put('nuclio/common/components/
|
|
28329
|
-
'<div class="ncl-
|
|
28357
|
+
$templateCache.put('nuclio/common/components/collapsing-row/collapsing-row.tpl.html',
|
|
28358
|
+
'<div class="ncl-collapsing-row"> <div class="title-block common-table-row" data-ng-class="{\'collapsed\': !$ctrl.item.ui.editModeActive}"> <div class="common-table-cell row-collapse"> <span class="collapse-icon" data-ng-click="$ctrl.onCollapse($event)" data-ng-class="{\'collapsed igz-icon-right\': !$ctrl.item.ui.editModeActive,\n' +
|
|
28359
|
+
' \'igz-icon-down\': $ctrl.item.ui.editModeActive}"> </span> </div> <div data-ng-show="!$ctrl.item.ui.editModeActive" class="igz-row common-table-cells-container item-row"> <div class="item-name" data-ng-if="!$ctrl.isNil($ctrl.item.name)"> <div class="text-ellipsis"> {{$ctrl.item.name}} </div> <igz-more-info data-ng-if="$ctrl.item.ui.moreInfoMsg.name" data-trigger="click" data-is-html-enabled="true" data-is-open="$ctrl.item.ui.moreInfoMsg.name.isOpen" data-icon-type="{{$ctrl.item.ui.moreInfoMsg.name.type}}" data-description="{{$ctrl.item.ui.moreInfoMsg.name.description}}"> </igz-more-info> </div> <div class="text-ellipsis item-name" data-ng-if="!$ctrl.isNil($ctrl.item.volumeMount.name)"> {{ $ctrl.item.volumeMount.name }} </div> <div class="item-class" data-ng-if="!$ctrl.isNil($ctrl.item.ui.selectedClass)"> {{$ctrl.item.ui.selectedClass.name}} </div> <div class="item-class" data-ng-if="!$ctrl.isNil($ctrl.item.volume.hostPath)"> {{ \'common:HOST_PATH\' | i18next }} </div> <div class="item-class" data-ng-if="!$ctrl.isNil($ctrl.item.volume.flexVolume)"> {{ \'functions:V3IO\' | i18next }} </div> <div class="item-class" data-ng-if="!$ctrl.isNil($ctrl.item.volume.secret.secretName)"> {{ \'functions:SECRET\' | i18next }} </div> <div class="item-class" data-ng-if="!$ctrl.isNil($ctrl.item.volume.configMap.name)"> {{ \'functions:CONFIG_MAP\' | i18next }} </div> <div class="item-class" data-ng-if="!$ctrl.isNil($ctrl.item.volume.persistentVolumeClaim.claimName)"> {{ \'functions:PVC\' | i18next }} </div> <div class="igz-col-70 item-info"> <div data-ng-hide="$ctrl.item.ui.editModeActive" class="collapsed-item-info-block"> <span data-ng-if="!$ctrl.isNil($ctrl.item.url)"> <span class="field-label">{{ \'common:URL\' | i18next }}</span>: {{ $ctrl.item.url }}; </span> <span data-ng-if="!$ctrl.isNil($ctrl.item.maxWorkers)"> <span class="field-label">{{ \'functions:MAX_WORKERS\' | i18next }}</span>: {{ $ctrl.item.maxWorkers }}; </span> <span data-ng-if="$ctrl.isNumber($ctrl.item.workerAvailabilityTimeoutMilliseconds)"> <span class="field-label">{{ \'functions:WORKER_AVAILABILITY_TIMEOUT\' | i18next }}</span>: {{ $ctrl.item.workerAvailabilityTimeoutMilliseconds }}; </span> <span data-ng-if="!$ctrl.isNil($ctrl.item.secret)"> <span class="field-label">{{ \'functions:SECRET\' | i18next }}</span>: {{ $ctrl.getMask($ctrl.item.secret) }}; </span> <span data-ng-repeat="(key, value) in $ctrl.item.attributes" data-ng-if="$ctrl.displayedAttributesFields.includes(key)"> <span class="field-label">{{ key }}</span>: {{ $ctrl.getAttributeValue(key, value) }}; </span> <span data-ng-if="!$ctrl.isNil($ctrl.item.annotations)"> <span class="field-label">{{ \'functions:ANNOTATIONS\' | i18next }}</span>: {{ $ctrl.item.annotations }}; </span> <span data-ng-if="!$ctrl.isNil($ctrl.item.username)"> <span class="field-label">{{ \'common:USERNAME\' | i18next }}</span>: {{ $ctrl.item.username }}; </span> <span data-ng-if="!$ctrl.isNil($ctrl.item.password)"> <span class="field-label">{{ \'common:PASSWORD\' | i18next }}</span>: {{ $ctrl.getMask($ctrl.item.password) }}; </span> <span data-ng-if="!$ctrl.isNil($ctrl.item.volumeMount.mountPath)"> <span class="field-label">{{ \'functions:MOUNT_PATH\' | i18next }}</span>: {{ $ctrl.item.volumeMount.mountPath }}; </span> <span data-ng-if="!$ctrl.isNil($ctrl.item.volume.hostPath)"> <span class="field-label">{{ \'common:HOST_PATH\' | i18next }}</span>: {{ $ctrl.item.volume.hostPath.path }}; </span> <span data-ng-if="!$ctrl.isNil($ctrl.item.volumeMount.readOnly)"> <span class="field-label">{{ \'common:READ_ONLY\' | i18next }}</span>: {{ $ctrl.item.volumeMount.readOnly }}; </span> <span data-ng-if="!$ctrl.isNil($ctrl.item.volume.flexVolume.options.container)"> <span class="field-label">{{ \'functions:CONTAINER_NAME\' | i18next }}</span>: {{ $ctrl.item.volume.flexVolume.options.container }}; </span> <span data-ng-if="!$ctrl.isNil($ctrl.item.volume.flexVolume.options.subPath)"> <span class="field-label">{{ \'functions:SUB_PATH\' | i18next }}</span>: {{ $ctrl.item.volume.flexVolume.options.subPath }}; </span> <span data-ng-if="!$ctrl.isNil($ctrl.item.volume.configMap.name)"> <span class="field-label">{{ \'functions:CONFIG_MAP_NAME\' | i18next }}</span>: {{ $ctrl.item.volume.configMap.name }}; </span> <span data-ng-if="!$ctrl.isNil($ctrl.item.volume.persistentVolumeClaim.claimName)"> <span class="field-label">{{ \'functions:PERSISTENT_VOLUME_CLAIM_NAME\' | i18next }}</span>: {{ $ctrl.item.volume.persistentVolumeClaim.claimName }}; </span> <span data-ng-if="!$ctrl.isNil($ctrl.item.workerAllocatorName)"> <span class="field-label">{{ \'functions:WORKER_ALLOCATOR_NAME\' | i18next }}</span>: {{ $ctrl.item.workerAllocatorName }}; </span> </div> </div> </div> <div data-ng-transclude class="igz-col-100" data-ng-if="$ctrl.item.ui.editModeActive"></div> <div class="common-table-cell actions-menu" data-ng-hide="$ctrl.readOnly" data-ng-if="::$ctrl.showDotMenu()"> <igz-action-menu data-actions="$ctrl.actions" data-on-fire-action="$ctrl.onFireAction"> </igz-action-menu> </div> <div class="common-table-cell single-action" data-ng-hide="$ctrl.readOnly" data-ng-if="::!$ctrl.showDotMenu()"> <div class="igz-action-panel"> <div class="actions-list"> <div class="igz-action-item" data-test-id="{{$ctrl.deleteTestId}}" data-ng-click="$ctrl.onClickAction($ctrl.actions[0])" data-uib-tooltip="{{$ctrl.actions[0].label}}" data-tooltip-popup-delay="1000" data-tooltip-placement="bottom" data-tooltip-append-to-body="true"> <span class="action-icon" data-ng-class="$ctrl.actions[0].icon"> </span> </div> </div> </div> </div> </div> </div> ');
|
|
28330
28360
|
}]);
|
|
28331
28361
|
})();
|
|
28332
28362
|
|
|
@@ -28337,9 +28367,8 @@ try {
|
|
|
28337
28367
|
module = angular.module('iguazio.dashboard-controls.templates', []);
|
|
28338
28368
|
}
|
|
28339
28369
|
module.run(['$templateCache', function($templateCache) {
|
|
28340
|
-
$templateCache.put('nuclio/common/components/
|
|
28341
|
-
'<div class="ncl-
|
|
28342
|
-
' \'igz-icon-down\': $ctrl.item.ui.editModeActive}"> </span> </div> <div data-ng-show="!$ctrl.item.ui.editModeActive" class="igz-row common-table-cells-container item-row"> <div class="item-name" data-ng-if="!$ctrl.isNil($ctrl.item.name)"> <div class="text-ellipsis"> {{$ctrl.item.name}} </div> <igz-more-info data-ng-if="$ctrl.item.ui.moreInfoMsg.name" data-trigger="click" data-is-html-enabled="true" data-is-open="$ctrl.item.ui.moreInfoMsg.name.isOpen" data-icon-type="{{$ctrl.item.ui.moreInfoMsg.name.type}}" data-description="{{$ctrl.item.ui.moreInfoMsg.name.description}}"> </igz-more-info> </div> <div class="text-ellipsis item-name" data-ng-if="!$ctrl.isNil($ctrl.item.volumeMount.name)"> {{ $ctrl.item.volumeMount.name }} </div> <div class="item-class" data-ng-if="!$ctrl.isNil($ctrl.item.ui.selectedClass)"> {{$ctrl.item.ui.selectedClass.name}} </div> <div class="item-class" data-ng-if="!$ctrl.isNil($ctrl.item.volume.hostPath)"> {{ \'common:HOST_PATH\' | i18next }} </div> <div class="item-class" data-ng-if="!$ctrl.isNil($ctrl.item.volume.flexVolume)"> {{ \'functions:V3IO\' | i18next }} </div> <div class="item-class" data-ng-if="!$ctrl.isNil($ctrl.item.volume.secret.secretName)"> {{ \'functions:SECRET\' | i18next }} </div> <div class="item-class" data-ng-if="!$ctrl.isNil($ctrl.item.volume.configMap.name)"> {{ \'functions:CONFIG_MAP\' | i18next }} </div> <div class="item-class" data-ng-if="!$ctrl.isNil($ctrl.item.volume.persistentVolumeClaim.claimName)"> {{ \'functions:PVC\' | i18next }} </div> <div class="igz-col-70 item-info"> <div data-ng-hide="$ctrl.item.ui.editModeActive" class="collapsed-item-info-block"> <span data-ng-if="!$ctrl.isNil($ctrl.item.url)"> <span class="field-label">{{ \'common:URL\' | i18next }}</span>: {{ $ctrl.item.url }}; </span> <span data-ng-if="!$ctrl.isNil($ctrl.item.maxWorkers)"> <span class="field-label">{{ \'functions:MAX_WORKERS\' | i18next }}</span>: {{ $ctrl.item.maxWorkers }}; </span> <span data-ng-if="$ctrl.isNumber($ctrl.item.workerAvailabilityTimeoutMilliseconds)"> <span class="field-label">{{ \'functions:WORKER_AVAILABILITY_TIMEOUT\' | i18next }}</span>: {{ $ctrl.item.workerAvailabilityTimeoutMilliseconds }}; </span> <span data-ng-if="!$ctrl.isNil($ctrl.item.secret)"> <span class="field-label">{{ \'functions:SECRET\' | i18next }}</span>: {{ $ctrl.getMask($ctrl.item.secret) }}; </span> <span data-ng-repeat="(key, value) in $ctrl.item.attributes" data-ng-if="$ctrl.displayedAttributesFields.includes(key)"> <span class="field-label">{{ key }}</span>: {{ $ctrl.getAttributeValue(key, value) }}; </span> <span data-ng-if="!$ctrl.isNil($ctrl.item.annotations)"> <span class="field-label">{{ \'functions:ANNOTATIONS\' | i18next }}</span>: {{ $ctrl.item.annotations }}; </span> <span data-ng-if="!$ctrl.isNil($ctrl.item.username)"> <span class="field-label">{{ \'common:USERNAME\' | i18next }}</span>: {{ $ctrl.item.username }}; </span> <span data-ng-if="!$ctrl.isNil($ctrl.item.password)"> <span class="field-label">{{ \'common:PASSWORD\' | i18next }}</span>: {{ $ctrl.getMask($ctrl.item.password) }}; </span> <span data-ng-if="!$ctrl.isNil($ctrl.item.volumeMount.mountPath)"> <span class="field-label">{{ \'functions:MOUNT_PATH\' | i18next }}</span>: {{ $ctrl.item.volumeMount.mountPath }}; </span> <span data-ng-if="!$ctrl.isNil($ctrl.item.volume.hostPath)"> <span class="field-label">{{ \'common:HOST_PATH\' | i18next }}</span>: {{ $ctrl.item.volume.hostPath.path }}; </span> <span data-ng-if="!$ctrl.isNil($ctrl.item.volumeMount.readOnly)"> <span class="field-label">{{ \'common:READ_ONLY\' | i18next }}</span>: {{ $ctrl.item.volumeMount.readOnly }}; </span> <span data-ng-if="!$ctrl.isNil($ctrl.item.volume.flexVolume.options.container)"> <span class="field-label">{{ \'functions:CONTAINER_NAME\' | i18next }}</span>: {{ $ctrl.item.volume.flexVolume.options.container }}; </span> <span data-ng-if="!$ctrl.isNil($ctrl.item.volume.flexVolume.options.subPath)"> <span class="field-label">{{ \'functions:SUB_PATH\' | i18next }}</span>: {{ $ctrl.item.volume.flexVolume.options.subPath }}; </span> <span data-ng-if="!$ctrl.isNil($ctrl.item.volume.configMap.name)"> <span class="field-label">{{ \'functions:CONFIG_MAP_NAME\' | i18next }}</span>: {{ $ctrl.item.volume.configMap.name }}; </span> <span data-ng-if="!$ctrl.isNil($ctrl.item.volume.persistentVolumeClaim.claimName)"> <span class="field-label">{{ \'functions:PERSISTENT_VOLUME_CLAIM_NAME\' | i18next }}</span>: {{ $ctrl.item.volume.persistentVolumeClaim.claimName }}; </span> <span data-ng-if="!$ctrl.isNil($ctrl.item.workerAllocatorName)"> <span class="field-label">{{ \'functions:WORKER_ALLOCATOR_NAME\' | i18next }}</span>: {{ $ctrl.item.workerAllocatorName }}; </span> </div> </div> </div> <div data-ng-transclude class="igz-col-100" data-ng-if="$ctrl.item.ui.editModeActive"></div> <div class="common-table-cell actions-menu" data-ng-hide="$ctrl.readOnly" data-ng-if="::$ctrl.showDotMenu()"> <igz-action-menu data-actions="$ctrl.actions" data-on-fire-action="$ctrl.onFireAction"> </igz-action-menu> </div> <div class="common-table-cell single-action" data-ng-hide="$ctrl.readOnly" data-ng-if="::!$ctrl.showDotMenu()"> <div class="igz-action-panel"> <div class="actions-list"> <div class="igz-action-item" data-test-id="{{$ctrl.deleteTestId}}" data-ng-click="$ctrl.onClickAction($ctrl.actions[0])" data-uib-tooltip="{{$ctrl.actions[0].label}}" data-tooltip-popup-delay="1000" data-tooltip-placement="bottom" data-tooltip-append-to-body="true"> <span class="action-icon" data-ng-class="$ctrl.actions[0].icon"> </span> </div> </div> </div> </div> </div> </div> ');
|
|
28370
|
+
$templateCache.put('nuclio/common/components/deploy-log/deploy-log.tpl.html',
|
|
28371
|
+
'<div class="ncl-deploy-log-wrapper"> <div class="log-panel igz-scrollable-container" data-ng-scrollbars data-ng-scrollbars-config="$ctrl.scrollConfig"> <div class="log-entry" data-ng-if="$ctrl.lodash.isArray($ctrl.logEntries)" data-ng-repeat="log in $ctrl.logEntries track by $index"> <span class="log-entry-time" data-ng-if="log.time">[{{log.time | date:\'HH:mm:ss.sss\'}}]</span> <span class="log-entry-level-{{log.level}}" data-ng-if="log.level"> ({{$ctrl.getLogLevel(log.level)}})</span> <span class="log-entry-message"> {{log.message}}</span> <span class="log-entry-error" data-ng-if="log.err"> {{log.err}}</span> <span class="log-entry-params"> {{$ctrl.getLogParams(log)}}</span> </div> <div class="log-entry" data-ng-if="!$ctrl.lodash.isArray($ctrl.logEntries)"> {{$ctrl.logEntries}} </div> </div> </div> ');
|
|
28343
28372
|
}]);
|
|
28344
28373
|
})();
|
|
28345
28374
|
|
|
@@ -28363,8 +28392,9 @@ try {
|
|
|
28363
28392
|
module = angular.module('iguazio.dashboard-controls.templates', []);
|
|
28364
28393
|
}
|
|
28365
28394
|
module.run(['$templateCache', function($templateCache) {
|
|
28366
|
-
$templateCache.put('nuclio/common/components/
|
|
28367
|
-
'<div class="
|
|
28395
|
+
$templateCache.put('nuclio/common/components/monaco/monaco.tpl.html',
|
|
28396
|
+
'<div class="ncl-monaco"> <div class="ncl-monaco-wrapper" data-ng-class="{\'ncl-monaco-dark\': $ctrl.selectedTheme === \'vs-dark\',\n' +
|
|
28397
|
+
' \'no-top-padding\': $ctrl.noTopPadding}"> <div data-ng-if="$ctrl.showTextSizeDropdown" class="ncl-monaco-top-row"> <ncl-text-size-dropdown data-update-data-callback="$ctrl.onTextSizeChange(newTextSize)"> </ncl-text-size-dropdown> </div> <div class="ncl-monaco-editor" igz-monaco-editor data-font-size="$ctrl.selectedTextSize" data-code-file="selectedCodeFile" data-editor-theme="$ctrl.selectedTheme" data-file-language="selectedFileLanguage" data-mini-monaco="$ctrl.miniMonaco" data-show-line-numbers="$ctrl.showLineNumbers" data-read-only="$ctrl.readOnly" data-on-code-change="$ctrl.onCodeChange" data-word-wrap="$ctrl.wordWrap"> </div> </div> </div> ');
|
|
28368
28398
|
}]);
|
|
28369
28399
|
})();
|
|
28370
28400
|
|
|
@@ -28393,8 +28423,8 @@ try {
|
|
|
28393
28423
|
module = angular.module('iguazio.dashboard-controls.templates', []);
|
|
28394
28424
|
}
|
|
28395
28425
|
module.run(['$templateCache', function($templateCache) {
|
|
28396
|
-
$templateCache.put('nuclio/common/components/
|
|
28397
|
-
'<div class="
|
|
28426
|
+
$templateCache.put('nuclio/common/components/function-config-dialog/function-config-dialog.tpl.html',
|
|
28427
|
+
'<div class="view-yaml-dialog-container"> <div class="view-yaml-dialog-header"> <div class="title">{{ $ctrl.title }}</div> <igz-copy-to-clipboard data-value="$ctrl.sourceCode"></igz-copy-to-clipboard> <div class="close-button igz-icon-close" data-ng-click="$ctrl.closeDialog()"></div> </div> <div class="main-content"> <ncl-monaco class="monaco-code-editor" data-function-source-code="$ctrl.sourceCode" data-mini-monaco="false" data-selected-theme="\'vs-light\'" data-language="\'yaml\'" data-read-only="true"> </ncl-monaco> </div> <div class="buttons"> <button class="igz-button-primary" tabindex="0" data-ng-click="$ctrl.closeDialog()"> {{ \'common:CLOSE\' | i18next }} </button> </div> </div> ');
|
|
28398
28428
|
}]);
|
|
28399
28429
|
})();
|
|
28400
28430
|
|
|
@@ -28405,9 +28435,8 @@ try {
|
|
|
28405
28435
|
module = angular.module('iguazio.dashboard-controls.templates', []);
|
|
28406
28436
|
}
|
|
28407
28437
|
module.run(['$templateCache', function($templateCache) {
|
|
28408
|
-
$templateCache.put('nuclio/common/components/
|
|
28409
|
-
'<div class="ncl-
|
|
28410
|
-
' \'no-top-padding\': $ctrl.noTopPadding}"> <div data-ng-if="$ctrl.showTextSizeDropdown" class="ncl-monaco-top-row"> <ncl-text-size-dropdown data-update-data-callback="$ctrl.onTextSizeChange(newTextSize)"> </ncl-text-size-dropdown> </div> <div class="ncl-monaco-editor" igz-monaco-editor data-font-size="$ctrl.selectedTextSize" data-code-file="selectedCodeFile" data-editor-theme="$ctrl.selectedTheme" data-file-language="selectedFileLanguage" data-mini-monaco="$ctrl.miniMonaco" data-show-line-numbers="$ctrl.showLineNumbers" data-read-only="$ctrl.readOnly" data-on-code-change="$ctrl.onCodeChange" data-word-wrap="$ctrl.wordWrap"> </div> </div> </div> ');
|
|
28438
|
+
$templateCache.put('nuclio/common/components/navigation-tabs/navigation-tabs.tpl.html',
|
|
28439
|
+
'<div class="ncl-navigation-tabs-wrapper"> <div class="ncl-navigation-tabs clearfix"> <div class="navigation-tab" data-ng-repeat="item in $ctrl.tabItems track by item.id" data-ui-sref="{{item.uiRoute}}" data-ui-sref-active="active" data-ng-class="{\'ncl-status-indicator\': item.indicator}"> {{item.tabName | uppercase}} <div class="ncl-status-light" data-ng-if="item.indicator" data-ng-class="item.indicator.lightClass"> <div class="ncl-status-tooltip" data-ng-if="item.indicator.tooltipText" data-ng-class="item.indicator.tooltipClass"> <div class="ncl-status-icon" data-ng-if="item.indicator.tooltipIconClass" data-ng-class="item.indicator.tooltipIconClass"> </div> <div class="ncl-status-title"> {{item.indicator.tooltipText}} </div> </div> </div> </div> </div> <div class="test-pane-actions-wrapper"> <div class="igz-action-panel"> <div class="actions-list"> <div class="igz-action-item" data-ng-if="$ctrl.isToggleButtonVisible()" data-ng-class="{\'active\': !$ctrl.isTestPaneClosed}" data-ng-click="$ctrl.toggleTestPane()"> <div class="action-icon igz-icon-test-pane"></div> </div> </div> </div> </div> </div> ');
|
|
28411
28440
|
}]);
|
|
28412
28441
|
})();
|
|
28413
28442
|
|
|
@@ -28493,8 +28522,8 @@ try {
|
|
|
28493
28522
|
module = angular.module('iguazio.dashboard-controls.templates', []);
|
|
28494
28523
|
}
|
|
28495
28524
|
module.run(['$templateCache', function($templateCache) {
|
|
28496
|
-
$templateCache.put('nuclio/functions/version/version-
|
|
28497
|
-
'<div class="ncl-version-
|
|
28525
|
+
$templateCache.put('nuclio/functions/version/version-monitoring/version-monitoring.tpl.html',
|
|
28526
|
+
'<div class="ncl-version-monitoring ncl-version" data-igz-extend-background> <div class="igz-scrollable-container" data-ng-scrollbars data-ng-scrollbars-config="$ctrl.scrollConfig"> <div class="ncl-version-monitoring-wrapper"> <div class="row"> <div class="monitoring-block"> <div class="invocation-block"> <div class="internal-invocation-urls"> <span class="title">{{ \'functions:INTERNAL_INVOCATION_URLS\' | i18next }}: </span> <ul class="invocation-url-list" ng-if="!$ctrl.isFunctionDeploying()"> <li class="monitoring-invocation-url-wrapper" data-ng-repeat="url in $ctrl.version.status.internalInvocationUrls"> <span>{{url}}</span> <div class="igz-action-panel"> <div class="actions-list"> <igz-copy-to-clipboard data-value="url"></igz-copy-to-clipboard> </div> </div> </li> </ul> <p data-ng-if="!$ctrl.version.status.internalInvocationUrls.length || $ctrl.isFunctionDeploying()" data-ng-i18next="common:N_A"></p> </div> <div class="external-invocation-urls"> <span class="title">{{ \'functions:EXTERNAL_INVOCATION_URLS\' | i18next }}: </span> <igz-more-info data-description="{{ \'functions:TOOLTIP.TO_MAKE_FUNCTION_ACCESSIBLE\' | i18next:{functionId: $ctrl.version.metadata.name} }}" data-trigger="click" data-is-html-enabled="true"> </igz-more-info> <ul class="invocation-url-list" data-ng-if="$ctrl.version.status.externalInvocationUrls.length > 0 && !$ctrl.isFunctionDeploying()"> <li class="monitoring-invocation-url-wrapper" data-ng-repeat="url in $ctrl.version.status.externalInvocationUrls"> <span>{{url}}</span> <div class="igz-action-panel"> <div class="actions-list"> <igz-copy-to-clipboard data-value="url"></igz-copy-to-clipboard> </div> </div> </li> </ul> <p data-ng-if="!$ctrl.version.status.externalInvocationUrls || $ctrl.version.status.externalInvocationUrls.length === 0 || $ctrl.isFunctionDeploying()" data-ng-i18next="common:N_A"></p> </div> </div> <div data-ng-if="$ctrl.enrichedNodeSelectors.length > 0" class="enriched-node-selectors"> <span class="title">{{ \'functions:NODE_SELECTORS\' | i18next }}: </span> <igz-more-info data-description="{{ \'functions:TOOLTIP.ENRICHED_NODE_SELECTOR\' | i18next }}" data-trigger="click" data-is-html-enabled="true"> </igz-more-info> <div class="table-body" data-ng-repeat="nodeSelector in $ctrl.enrichedNodeSelectors"> <ncl-key-value-input class="enriched-node-selectors" data-is-read-only="true" data-key-tooltip="nodeSelector.name" data-value-tooltip="nodeSelector.value" data-item-index="$index" data-row-data="nodeSelector" data-use-labels="true" data-use-type="false"> </ncl-key-value-input> </div> </div> </div> </div> <div class="row"> <div class="monitoring-block ncl-monitoring-build-logger"> <span class="icon-collapsed general-content" data-ng-class="$ctrl.rowIsCollapsed.buildLog ? \'igz-icon-right\' : \'igz-icon-down\'" data-ng-click="$ctrl.onRowCollapse(\'buildLog\')"></span> <span class="monitoring-block-title"> {{ \'functions:BUILD_LOG\' | i18next }} </span> <div class="ncl-monitoring-build-logs collapsed-block-content-wrapper" data-uib-collapse="$ctrl.rowIsCollapsed.buildLog"> <ncl-deploy-log data-log-entries="$ctrl.version.status.logs"></ncl-deploy-log> </div> </div> </div> <div class="row" data-ng-if="$ctrl.checkIsErrorState()"> <div class="monitoring-block ncl-monitoring-error-logger"> <span class="icon-collapsed general-content" data-ng-class="$ctrl.rowIsCollapsed.errorLog ? \'igz-icon-right\' : \'igz-icon-down\'" data-ng-click="$ctrl.onRowCollapse(\'errorLog\')"> </span> <span class="monitoring-block-title"> {{ \'common:ERROR\' | i18next }} </span> <div class="ncl-monitoring-error-logs collapsed-block-content-wrapper" data-uib-collapse="$ctrl.rowIsCollapsed.errorLog"> <div class="error-panel igz-scrollable-container" data-ng-scrollbars data-ng-scrollbars-config="$ctrl.scrollConfig"> <div class="log-entry"> <span class="log-entry-error"> {{$ctrl.version.status.message}} </span> </div> </div> </div> </div> </div> </div> </div> </div> ');
|
|
28498
28527
|
}]);
|
|
28499
28528
|
})();
|
|
28500
28529
|
|
|
@@ -28506,7 +28535,7 @@ try {
|
|
|
28506
28535
|
}
|
|
28507
28536
|
module.run(['$templateCache', function($templateCache) {
|
|
28508
28537
|
$templateCache.put('nuclio/functions/version/version-execution-log/version-execution-log.tpl.html',
|
|
28509
|
-
' <igz-splash-screen data-is-splash-showed="$ctrl.isSplashShowed"></igz-splash-screen> <div class="ncl-version-execution-log ncl-version" data-igz-extend-background> <div class="ncl-version-execution-log-wrapper"> <div class="row" data-ng-class="{\'filters-shown\': $ctrl.isFiltersShowed.value}"> <igz-info-page-filters data-is-filters-showed="$ctrl.isFiltersShowed.value" data-change-state-callback="$ctrl.isFiltersShowed.changeValue(newVal)" data-toggle-method="$ctrl.toggleFilters()" data-apply-filters="$ctrl.applyFilters()" data-watch-id="log-filter" data-reset-filters="$ctrl.resetFilters()"> <div class="info-page-filters-item search-input-item filter-message-wrapper"> <div class="filter-message align-items-center"> <span class="filter-label">{{ \'common:MESSAGE\' | i18next }}</span> <igz-more-info data-is-default-tooltip-enabled="true" data-default-tooltip-placement="top" data-is-html-enabled="true" data-description="{{ \'common:TOOLTIP.LOGS_MESSAGE_DESCRIPTION\' | i18next }}"> </igz-more-info> </div> <igz-search-input class="igz-component" data-data-set="$ctrl.logs" data-search-keys="$ctrl.searchKeys" data-placeholder="{{ \'common:PLACEHOLDER.SOME_LOG_MESSAGE\' | i18next }}" data-type="control" data-rule-type="message" data-search-states="$ctrl.searchStates" data-search-callback="$ctrl.onQueryChanged(searchQuery, ruleType)" data-on-search-submit="$ctrl.applyFilters()"> </igz-search-input> </div> <div class="info-page-filters-item all-padded"> <div class="browser-search-bar-wrapper"> <span class="filter-label"> {{ \'common:TIME_RANGE\' | i18next }} </span> <igz-date-time-picker data-pick-time="true" data-pick-future-dates="false" data-selected-preset="{{$ctrl.datePreset}}" data-input-date-from="$ctrl.timeRange.
|
|
28538
|
+
' <igz-splash-screen data-is-splash-showed="$ctrl.isSplashShowed"></igz-splash-screen> <div class="ncl-version-execution-log ncl-version" data-igz-extend-background> <div class="ncl-version-execution-log-wrapper"> <div class="row" data-ng-class="{\'filters-shown\': $ctrl.isFiltersShowed.value}"> <igz-info-page-filters data-is-filters-showed="$ctrl.isFiltersShowed.value" data-change-state-callback="$ctrl.isFiltersShowed.changeValue(newVal)" data-toggle-method="$ctrl.toggleFilters()" data-apply-filters="$ctrl.applyFilters()" data-apply-is-disabled="$ctrl.applyIsDisabled" data-watch-id="log-filter" data-reset-filters="$ctrl.resetFilters()"> <div class="info-page-filters-item search-input-item filter-message-wrapper"> <div class="filter-message align-items-center"> <span class="filter-label">{{ \'common:MESSAGE\' | i18next }}</span> <igz-more-info data-is-default-tooltip-enabled="true" data-default-tooltip-placement="top" data-is-html-enabled="true" data-description="{{ \'common:TOOLTIP.LOGS_MESSAGE_DESCRIPTION\' | i18next }}"> </igz-more-info> </div> <igz-search-input class="igz-component" data-data-set="$ctrl.logs" data-search-keys="$ctrl.searchKeys" data-placeholder="{{ \'common:PLACEHOLDER.SOME_LOG_MESSAGE\' | i18next }}" data-type="control" data-rule-type="message" data-search-states="$ctrl.searchStates" data-search-callback="$ctrl.onQueryChanged(searchQuery, ruleType)" data-on-search-submit="$ctrl.applyFilters()"> </igz-search-input> </div> <div class="info-page-filters-item all-padded"> <div class="browser-search-bar-wrapper"> <span class="filter-label"> {{ \'common:TIME_RANGE\' | i18next }} </span> <igz-date-time-picker data-pick-time="true" data-pick-future-dates="false" data-selected-preset="{{$ctrl.datePreset}}" data-input-date-from="$ctrl.timeRange.from" data-input-date-to="$ctrl.timeRange.to" data-is-date-range="true" data-is-required="true" data-custom-presets="$ctrl.customDatePresets" data-on-change-model="$ctrl.onTimeRangeChange(newValue, selectedPreset)"> </igz-date-time-picker> </div> </div> <div class="info-page-filters-item all-padded"> <div class="filter-label"> {{ \'common:LEVEL\' | i18next }} </div> <div class="filter-level-wrapper align-items-center"> <div class="igz-col-50"> <div class="filter-level-item"> <input type="checkbox" data-ng-model="$ctrl.filter.level.debug" id="level-debug"> <label for="level-debug"> <span class="level-icon ncl-icon-debug"></span> {{ \'common:DEBUG\' | i18next }} </label> </div> <div class="filter-level-item"> <input type="checkbox" data-ng-model="$ctrl.filter.level.warn" id="level-warning"> <label for="level-warning"> <span class="level-icon igz-icon-warning"></span> {{ \'common:WARNING\' | i18next }} </label> </div> </div> <div class="igz-col-50"> <div class="filter-level-item"> <input type="checkbox" data-ng-model="$ctrl.filter.level.info" id="level-info"> <label for="level-info"> <span class="level-icon igz-icon-info-round"></span> {{ \'common:INFO\' | i18next }} </label> </div> <div class="filter-level-item"> <input type="checkbox" data-ng-model="$ctrl.filter.level.error" id="level-error"> <label for="level-error"> <span class="level-icon igz-icon-cancel-path"></span> {{ \'common:ERROR\' | i18next }} </label> </div> </div> </div> </div> <div class="info-page-filters-item all-padded replicas"> <span class="filter-label asterisk"> {{ \'common:REPLICAS\' | i18next }} </span> <igz-multiple-checkboxes data-ng-model="$ctrl.selectedReplicas" data-options="$ctrl.replicasList" data-dropdown="true" data-select-all-none="true" data-ng-change="$ctrl.onCheckboxChange($event)" data-ng-required="true" data-base-id="select-replica_"> </igz-multiple-checkboxes> </div> </igz-info-page-filters> <igz-info-page-actions-bar> <div class="igz-action-panel"> <div class="actions-list"> <div class="actions-bar-right"> <div class="actions-bar-left actions-buttons-block actions-dropdown-block"> <igz-default-dropdown data-values-array="$ctrl.refreshRate.options" data-selected-item="$ctrl.refreshRate.value" data-select-property-only="value" data-item-select-callback="$ctrl.onRefreshRateChange(item, isItemChanged, field)" data-item-select-field="refreshRate.value"> </igz-default-dropdown> </div> <div class="actions-bar-left"> <igz-action-item-refresh data-is-disabled="$ctrl.isFunctionDeploying()" data-refresh="$ctrl.searchWithParams($ctrl.page.number, $ctrl.page.size)"> </igz-action-item-refresh> </div> <igz-actions-panes data-filters-toggle-method="$ctrl.toggleFilters()" data-show-filter-icon="true" data-filters-counter="$ctrl.activeFilters" data-is-filters-opened="$ctrl.isFiltersShowed.value"> </igz-actions-panes> </div> </div> </div> </igz-info-page-actions-bar> <div class="igz-control-panel-log"> <div class="control-panel-log-table common-table"> <div class="search-input-not-found" data-ng-if="$ctrl.logs.length === 0"> {{ \'functions:NO_LOGS_HAVE_BEEN_FOUND\' | i18next }} </div> <div data-igz-extend-background class="common-table-body"> <div class="igz-scrollable-container logs-container" data-ng-scrollbars data-ng-scrollbars-config="$ctrl.scrollConfig" data-ng-hide="$ctrl.logs.length === 0"> <div data-ng-repeat="log in $ctrl.logs"> <igz-elastic-log-table-row data-entry-item="log"></igz-elastic-log-table-row> </div> <igz-pagination class="control-panel-log-pagination" data-page-data="$ctrl.page" data-pagination-callback="$ctrl.searchWithParams(page, size)" data-ng-hide="$ctrl.logs.length === 0" data-per-page-values="$ctrl.perPageValues"> </igz-pagination> </div> </div> </div> </div> </div> </div> </div> ');
|
|
28510
28539
|
}]);
|
|
28511
28540
|
})();
|
|
28512
28541
|
|
|
@@ -28517,8 +28546,8 @@ try {
|
|
|
28517
28546
|
module = angular.module('iguazio.dashboard-controls.templates', []);
|
|
28518
28547
|
}
|
|
28519
28548
|
module.run(['$templateCache', function($templateCache) {
|
|
28520
|
-
$templateCache.put('nuclio/functions/version/version-
|
|
28521
|
-
'<div class="ncl-version-
|
|
28549
|
+
$templateCache.put('nuclio/functions/version/version-configuration/version-configuration.tpl.html',
|
|
28550
|
+
'<div class="ncl-version-configuration ncl-version" data-igz-extend-background> <div class="igz-scrollable-container" data-ng-scrollbars data-ng-scrollbars-config="$ctrl.scrollConfig"> <div class="ncl-version-configuration-wrapper"> <div class="row"> <ncl-version-configuration-basic-settings class="configuration-block" data-version="$ctrl.version" data-is-function-deploying="$ctrl.isFunctionDeploying()" data-on-change-callback="$ctrl.onConfigurationChangeCallback"> </ncl-version-configuration-basic-settings> <ncl-version-configuration-resources class="configuration-block" data-version="$ctrl.version" data-is-function-deploying="$ctrl.isFunctionDeploying()" data-on-change-callback="$ctrl.onConfigurationChangeCallback"> </ncl-version-configuration-resources> </div> <div class="row"> <ncl-version-configuration-environment-variables class="configuration-block" data-version="$ctrl.version" data-is-function-deploying="$ctrl.isFunctionDeploying()" data-on-change-callback="$ctrl.onConfigurationChangeCallback"> </ncl-version-configuration-environment-variables> </div> <div class="row"> <ncl-version-configuration-labels class="configuration-block" data-version="$ctrl.version" data-is-function-deploying="$ctrl.isFunctionDeploying()" data-on-change-callback="$ctrl.onConfigurationChangeCallback"> </ncl-version-configuration-labels> <ncl-version-configuration-annotations class="configuration-block" data-version="$ctrl.version" data-is-function-deploying="$ctrl.isFunctionDeploying()" data-on-change-callback="$ctrl.onConfigurationChangeCallback"> </ncl-version-configuration-annotations> </div> <div class="row"> <ncl-version-configuration-volumes class="configuration-block" data-version="$ctrl.version" data-is-function-deploying="$ctrl.isFunctionDeploying()" data-on-change-callback="$ctrl.onConfigurationChangeCallback()"> </ncl-version-configuration-volumes> <ncl-version-configuration-build class="configuration-block" data-version="$ctrl.version" data-is-function-deploying="$ctrl.isFunctionDeploying()" data-on-change-callback="$ctrl.onConfigurationChangeCallback"> </ncl-version-configuration-build> </div> <div class="row"> <ncl-version-configuration-logging data-ng-if="false" class="configuration-block" data-version="$ctrl.version" data-on-change-callback="$ctrl.onConfigurationChangeCallback"> </ncl-version-configuration-logging> <ncl-version-configuration-runtime-attributes data-ng-if="$ctrl.isRuntimeBlockVisible()" class="configuration-block runtime-attributes" data-version="$ctrl.version" data-is-function-deploying="$ctrl.isFunctionDeploying()" data-on-change-callback="$ctrl.onConfigurationChangeCallback"> </ncl-version-configuration-runtime-attributes> <div data-ng-if="$ctrl.isRuntimeBlockVisible()" class="configuration-block invisible"></div> </div> </div> </div> </div> ');
|
|
28522
28551
|
}]);
|
|
28523
28552
|
})();
|
|
28524
28553
|
|
|
@@ -28530,7 +28559,7 @@ try {
|
|
|
28530
28559
|
}
|
|
28531
28560
|
module.run(['$templateCache', function($templateCache) {
|
|
28532
28561
|
$templateCache.put('nuclio/functions/version/version-triggers/version-triggers.tpl.html',
|
|
28533
|
-
'<div class="ncl-version-trigger ncl-version"> <div class="common-table"> <div class="content-message-pane" data-ng-if="$ctrl.isHttpTriggerMsgShown()" data-ng-i18next="[html]functions:HTTP_TRIGGER_MSG"> </div> <div class="common-table-header header-row"> <div class="common-table-cell header-name"> {{ \'common:NAME\' | i18next }} </div> <div class="common-table-cell header-class"> {{ \'common:CLASS\' | i18next }} </div> <div class="igz-col-70 common-table-cell"> {{ \'common:INFO\' | i18next }} </div> </div> <div class="content-message-pane" data-ng-if="$ctrl.triggers.length === 0"> {{ \'functions:TRIGGERS_NOT_FOUND\' | i18next }} </div> <div class="common-table-body" data-igz-extend-background> <div class="igz-scrollable-container" data-ng-scrollbars data-ng-scrollbars-config="$ctrl.scrollConfig"> <ncl-collapsing-row data-ng-repeat="trigger in $ctrl.triggers track by trigger.name" data-item="trigger" data-type="trigger" data-read-only="$ctrl.isFunctionDeploying()" data-delete-test-id="functions.triggers_delete.button" data-action-handler-callback="$ctrl.handleAction(actionType, selectedItem)"> <ncl-edit-item class="common-table-cells-container edit-trigger-row" data-item="trigger" data-class-list="$ctrl.classList" data-type="trigger" data-read-only="$ctrl.isFunctionDeploying()" data-validation-rules="$ctrl.validationRules" data-default-fields="$ctrl.defaultFields" data-on-select-class-callback="$ctrl.checkClassUniqueness()" data-on-submit-callback="$ctrl.editTriggerCallback(item)"> </ncl-edit-item> </ncl-collapsing-row> <div class="common-table-row create-trigger-button igz-create-button" data-ng-class="{\'disabled\': $ctrl.isFunctionDeploying()}" data-ng-if="$ctrl.isCreateNewTriggerEnabled()" data-ng-click="$ctrl.createTrigger($event)"> <span class="igz-icon-add-round"></span> {{ \'functions:ADD_TRIGGER\' | i18next }} </div> </div> </div> </div> </div> ');
|
|
28562
|
+
'<div class="ncl-version-trigger ncl-version"> <div class="common-table"> <div class="content-message-pane" data-ng-if="$ctrl.isHttpTriggerMsgShown()" data-ng-i18next="[html]functions:HTTP_TRIGGER_MSG"> </div> <div class="http-trigger-checkbox" data-ng-if="$ctrl.isHttpTriggerCheckboxShown()"> <input type="checkbox" class="small" id="disable-default-http-trigger" name="disableDefaultHTTPTrigger" data-ng-model="$ctrl.version.spec.disableDefaultHTTPTrigger" data-ng-disabled="$ctrl.isFunctionDeploying()"> <label for="disable-default-http-trigger" class="checkbox-inline">{{ \'common:DO_NOT_CREATE_HTTP_TRIGGER_BY_DEFAULT\' | i18next }}</label> <igz-more-info data-description="{{ \'functions:TOOLTIP.DO_NOT_CREATE_HTTP_TRIGGER_BY_DEFAULT\' | i18next }}" data-trigger="click" data-default-tooltip-placement="right"> </igz-more-info> </div> <div class="common-table-header header-row"> <div class="common-table-cell header-name"> {{ \'common:NAME\' | i18next }} </div> <div class="common-table-cell header-class"> {{ \'common:CLASS\' | i18next }} </div> <div class="igz-col-70 common-table-cell"> {{ \'common:INFO\' | i18next }} </div> </div> <div class="content-message-pane" data-ng-if="$ctrl.triggers.length === 0"> {{ \'functions:TRIGGERS_NOT_FOUND\' | i18next }} </div> <div class="common-table-body" data-igz-extend-background> <div class="igz-scrollable-container" data-ng-scrollbars data-ng-scrollbars-config="$ctrl.scrollConfig"> <ncl-collapsing-row data-ng-repeat="trigger in $ctrl.triggers track by trigger.name" data-item="trigger" data-type="trigger" data-read-only="$ctrl.isFunctionDeploying()" data-delete-test-id="functions.triggers_delete.button" data-action-handler-callback="$ctrl.handleAction(actionType, selectedItem)"> <ncl-edit-item class="common-table-cells-container edit-trigger-row" data-item="trigger" data-class-list="$ctrl.classList" data-type="trigger" data-read-only="$ctrl.isFunctionDeploying()" data-validation-rules="$ctrl.validationRules" data-default-fields="$ctrl.defaultFields" data-on-select-class-callback="$ctrl.checkClassUniqueness()" data-on-submit-callback="$ctrl.editTriggerCallback(item)"> </ncl-edit-item> </ncl-collapsing-row> <div class="common-table-row create-trigger-button igz-create-button" data-ng-class="{\'disabled\': $ctrl.isFunctionDeploying()}" data-ng-if="$ctrl.isCreateNewTriggerEnabled()" data-ng-click="$ctrl.createTrigger($event)"> <span class="igz-icon-add-round"></span> {{ \'functions:ADD_TRIGGER\' | i18next }} </div> </div> </div> </div> </div> ');
|
|
28534
28563
|
}]);
|
|
28535
28564
|
})();
|
|
28536
28565
|
|
|
@@ -28628,8 +28657,8 @@ try {
|
|
|
28628
28657
|
module = angular.module('iguazio.dashboard-controls.templates', []);
|
|
28629
28658
|
}
|
|
28630
28659
|
module.run(['$templateCache', function($templateCache) {
|
|
28631
|
-
$templateCache.put('nuclio/functions/version/version-code/function-event-pane/test-events-
|
|
28632
|
-
'<div class="ncl-test-events-
|
|
28660
|
+
$templateCache.put('nuclio/functions/version/version-code/function-event-pane/test-events-navigation-tabs/test-events-navigation-tabs.tpl.html',
|
|
28661
|
+
'<div class="ncl-test-events-navigation-tabs"> <div class="test-events-navigation-tab" data-ng-repeat="item in $ctrl.tabItems" data-ng-click="$ctrl.changeActiveTab(item)" data-ng-class="{\'active\': $ctrl.isActiveTab(item)}"> {{item.tabName | uppercase}} <span class="badge" data-ng-if="item.badge">{{item.badge}}</span> </div> <igz-default-dropdown data-ng-if="$ctrl.selectedLogLevel" data-values-array="$ctrl.logLevelValues" data-select-property-only="id" data-selected-item="$ctrl.selectedLogLevel" data-item-select-callback="$ctrl.onChangeLogLevel({selectedLogLevel: item})" data-enable-overlap="true"> </igz-default-dropdown> </div> ');
|
|
28633
28662
|
}]);
|
|
28634
28663
|
})();
|
|
28635
28664
|
|
|
@@ -28640,8 +28669,8 @@ try {
|
|
|
28640
28669
|
module = angular.module('iguazio.dashboard-controls.templates', []);
|
|
28641
28670
|
}
|
|
28642
28671
|
module.run(['$templateCache', function($templateCache) {
|
|
28643
|
-
$templateCache.put('nuclio/functions/version/version-code/function-event-pane/test-events-
|
|
28644
|
-
'<div class="ncl-test-events-
|
|
28672
|
+
$templateCache.put('nuclio/functions/version/version-code/function-event-pane/test-events-logs/test-events-logs.tpl.html',
|
|
28673
|
+
'<div class="ncl-test-events-logs"> <div class="functional-buttons" data-ng-if="$ctrl.logs.length > 0"> <div class="ncl-icon-expand-all" data-ng-click="$ctrl.expandAllRows(true)" data-uib-tooltip="{{ \'functions:EXPAND_ALL\' | i18next }}" data-tooltip-popup-delay="300" data-tooltip-placement="left" data-tooltip-append-to-body="true"> </div> <div class="ncl-icon-collapse-all" data-ng-click="$ctrl.expandAllRows(false)" data-uib-tooltip="{{ \'functions:COLLAPSE_ALL\' | i18next }}" data-tooltip-popup-delay="300" data-tooltip-placement="left" data-tooltip-append-to-body="true"> </div> </div> <div data-ng-repeat="log in $ctrl.logs track by $index"> <div class="collapsed-row text-ellipsis" data-ng-if="log.ui.collapsed"> <span class="igz-icon-right" data-ng-click="$ctrl.collapseRow(log, false)"></span> <div class="level-icon {{$ctrl.getLevelIconClass(log)}}"></div> <span class="date">{{log.time | date: "EEE, MMM d, yyyy, HH:mm:ss\'GMT\'" : "+0000"}}</span> <div class="message text-ellipsis">{{log.message}}</div> <div class="ncl-icon-parameters" data-ng-if="$ctrl.hasAdditionalParameters(log)"></div> </div> <div class="expanded-row" data-ng-if="!log.ui.collapsed"> <div class="header"> <span class="igz-icon-down" data-ng-click="$ctrl.collapseRow(log, true)"></span> <div class="level-icon {{$ctrl.getLevelIconClass(log)}}"></div> <span class="date">{{log.time | date: "EEE, MMM d, yyyy, HH:mm:ss\'GMT\'" : "+0000"}}</span> <div class="ncl-icon-parameters" data-ng-if="$ctrl.hasAdditionalParameters(log)"></div> </div> <div class="expanded-body"> <div class="message">{{log.message}}</div> <div class="error" data-ng-if="log.err">{{log.err}}</div> <div class="parameters" data-ng-if="$ctrl.hasAdditionalParameters(log)"> <span class="parameters-header"> {{ \'common:PARAMETERS\' | i18next }} </span> <div data-ng-repeat="(key, value) in $ctrl.getParameters(log)"> <div class="text-ellipsis labels">{{key}}:</div> <div class="text-ellipsis values">{{value}}</div> </div> </div> </div> </div> </div> <div class="no-logs" data-ng-if="$ctrl.logs.length === 0"> {{ \'functions:NO_LOGS_HAVE_BEEN_FOUND\' | i18next }} </div> </div> ');
|
|
28645
28674
|
}]);
|
|
28646
28675
|
})();
|
|
28647
28676
|
|