@microsoft/windows-admin-center-sdk 2.508.0 → 2.510.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/angular/bundles/microsoft-windows-admin-center-sdk-angular.umd.js +1025 -514
- package/angular/bundles/microsoft-windows-admin-center-sdk-angular.umd.js.map +1 -1
- package/angular/bundles/microsoft-windows-admin-center-sdk-angular.umd.min.js +1 -1
- package/angular/bundles/microsoft-windows-admin-center-sdk-angular.umd.min.js.map +1 -1
- package/angular/esm2015/src/controls/common/decorators/deprecation.decorators.js +1 -1
- package/angular/esm2015/src/controls/header/header.component.js +79 -32
- package/angular/esm2015/src/controls/layout/index.js +2 -1
- package/angular/esm2015/src/controls/layout/layout-config.js +69 -0
- package/angular/esm2015/src/controls/layout/layout-item.component.js +12 -4
- package/angular/esm2015/src/controls/layout/layout-responsive-window-manager.js +22 -0
- package/angular/esm2015/src/controls/layout/layout.component.js +402 -69
- package/angular/esm2015/src/controls/property-grid/property-grid.component.js +8 -2
- package/angular/esm2015/src/controls/settings/settings.component.js +9 -3
- package/angular/esm2015/src/controls/split-view/split-view.component.js +1 -1
- package/angular/fesm2015/microsoft-windows-admin-center-sdk-angular.js +950 -475
- package/angular/fesm2015/microsoft-windows-admin-center-sdk-angular.js.map +1 -1
- package/angular/src/controls/header/header.component.d.ts +17 -5
- package/angular/src/controls/layout/index.d.ts +1 -0
- package/angular/src/controls/layout/layout-config.d.ts +53 -0
- package/angular/src/controls/layout/layout-item.component.d.ts +5 -1
- package/angular/src/controls/layout/layout-responsive-window-manager.d.ts +5 -0
- package/angular/src/controls/layout/layout.component.d.ts +95 -3
- package/angular/src/controls/property-grid/property-grid.component.d.ts +5 -1
- package/angular/src/controls/settings/settings.component.d.ts +9 -0
- package/e2e/assets/strings/cs-CZ/strings.json +1 -1
- package/e2e/assets/strings/de-DE/strings.json +1 -1
- package/e2e/assets/strings/es-ES/strings.json +1 -1
- package/e2e/assets/strings/fr-FR/strings.json +1 -1
- package/e2e/assets/strings/hu-HU/strings.json +1 -1
- package/e2e/assets/strings/it-IT/strings.json +1 -1
- package/e2e/assets/strings/ja-JP/strings.json +1 -1
- package/e2e/assets/strings/ko-KR/strings.json +1 -1
- package/e2e/assets/strings/nl-NL/strings.json +1 -1
- package/e2e/assets/strings/pl-PL/strings.json +1 -1
- package/e2e/assets/strings/pt-BR/strings.json +1 -1
- package/e2e/assets/strings/pt-PT/strings.json +1 -1
- package/e2e/assets/strings/ru-RU/strings.json +1 -1
- package/e2e/assets/strings/strings.json +1 -1
- package/e2e/assets/strings/sv-SE/strings.json +1 -1
- package/e2e/assets/strings/tr-TR/strings.json +1 -1
- package/e2e/assets/strings/zh-CN/strings.json +1 -1
- package/e2e/assets/strings/zh-TW/strings.json +1 -1
- package/package.json +1 -1
- package/styles/css/main-v2.css +1 -1
|
@@ -8481,6 +8481,444 @@ const ɵEditableLayoutItemComponent_BaseFactory = /*@__PURE__*/ ɵɵgetInherited
|
|
|
8481
8481
|
args: ['document:mousemove', ['$event']]
|
|
8482
8482
|
}] }); })();
|
|
8483
8483
|
|
|
8484
|
+
/**
|
|
8485
|
+
* It defines the number of breakpoints that WAC currently support.
|
|
8486
|
+
* add more scenarios when WAC is going to support scenarios like tablet etc.
|
|
8487
|
+
*/
|
|
8488
|
+
var SmeResponsiveWindowBreakpointsValue;
|
|
8489
|
+
(function (SmeResponsiveWindowBreakpointsValue) {
|
|
8490
|
+
SmeResponsiveWindowBreakpointsValue[SmeResponsiveWindowBreakpointsValue["Reflow"] = 399.98] = "Reflow";
|
|
8491
|
+
SmeResponsiveWindowBreakpointsValue[SmeResponsiveWindowBreakpointsValue["PhoneDown"] = 767.98] = "PhoneDown";
|
|
8492
|
+
SmeResponsiveWindowBreakpointsValue[SmeResponsiveWindowBreakpointsValue["PhoneUp"] = Number.MAX_SAFE_INTEGER] = "PhoneUp";
|
|
8493
|
+
})(SmeResponsiveWindowBreakpointsValue || (SmeResponsiveWindowBreakpointsValue = {}));
|
|
8494
|
+
/**
|
|
8495
|
+
* It defines the current supported scenario for window sizes.
|
|
8496
|
+
*/
|
|
8497
|
+
var SmeResponsiveWindowBreakpoints;
|
|
8498
|
+
(function (SmeResponsiveWindowBreakpoints) {
|
|
8499
|
+
SmeResponsiveWindowBreakpoints["Reflow"] = "Reflow";
|
|
8500
|
+
SmeResponsiveWindowBreakpoints["PhoneDown"] = "PhoneDown";
|
|
8501
|
+
SmeResponsiveWindowBreakpoints["PhoneUp"] = "PhoneUp";
|
|
8502
|
+
})(SmeResponsiveWindowBreakpoints || (SmeResponsiveWindowBreakpoints = {}));
|
|
8503
|
+
// tslint:disable-next-line: directive-class-suffix
|
|
8504
|
+
class SmeResponsiveWindowManagerComponent {
|
|
8505
|
+
/**
|
|
8506
|
+
* The manager supports layout component and in the meantime listening to the window size change event.
|
|
8507
|
+
* @param layout the layout component.
|
|
8508
|
+
*/
|
|
8509
|
+
constructor(layout) {
|
|
8510
|
+
this.layout = layout;
|
|
8511
|
+
/**
|
|
8512
|
+
* It defines whether the current window size is for super small window.
|
|
8513
|
+
*/
|
|
8514
|
+
this.internalReflowMode = false;
|
|
8515
|
+
/**
|
|
8516
|
+
* It defines whether the current window size is phone down.
|
|
8517
|
+
*/
|
|
8518
|
+
this.internalPhoneDown = false;
|
|
8519
|
+
/**
|
|
8520
|
+
* It defines whether the current window size is phone up.
|
|
8521
|
+
*/
|
|
8522
|
+
this.internalPhoneUp = false;
|
|
8523
|
+
/**
|
|
8524
|
+
* It defines whether the current solution/tool is using css v2 to support responsive window.
|
|
8525
|
+
*/
|
|
8526
|
+
this.internalCssV2 = false;
|
|
8527
|
+
/**
|
|
8528
|
+
* The array for subscription.
|
|
8529
|
+
*/
|
|
8530
|
+
this.subscriptions = [];
|
|
8531
|
+
this.setIsCssV2Enabled();
|
|
8532
|
+
if (this.layout) {
|
|
8533
|
+
// on parent layout changes, re-emit the layout change to our event
|
|
8534
|
+
this.subscriptions.push(layout.layoutChanged.subscribe((() => this.onLayoutChanged())));
|
|
8535
|
+
// on window break point changes, emit the event about critical classes and styling updates signal.
|
|
8536
|
+
this.subscriptions.push(layout.windowBreakpointChanged.subscribe(() => this.onWindowBreakpointChanged()));
|
|
8537
|
+
this.deferredOnLayoutChanged();
|
|
8538
|
+
}
|
|
8539
|
+
}
|
|
8540
|
+
/**
|
|
8541
|
+
* Gets the current window responsive state.
|
|
8542
|
+
*/
|
|
8543
|
+
get responsiveWindowState() {
|
|
8544
|
+
return this.internalResponsiveWindowMode;
|
|
8545
|
+
}
|
|
8546
|
+
/**
|
|
8547
|
+
* Sets the current window responsive state.
|
|
8548
|
+
*/
|
|
8549
|
+
set responsiveWindowState(input) {
|
|
8550
|
+
var _a;
|
|
8551
|
+
const prevResponsiveWindowState = this.internalResponsiveWindowMode;
|
|
8552
|
+
this.internalResponsiveWindowMode = input;
|
|
8553
|
+
if (prevResponsiveWindowState !== this.internalResponsiveWindowMode) {
|
|
8554
|
+
(_a = this.layout) === null || _a === void 0 ? void 0 : _a.windowBreakpointChanged.emit();
|
|
8555
|
+
}
|
|
8556
|
+
}
|
|
8557
|
+
/**
|
|
8558
|
+
* Gets the value indicating whether css v2 should be used.
|
|
8559
|
+
*/
|
|
8560
|
+
get cssV2() {
|
|
8561
|
+
return this.internalCssV2;
|
|
8562
|
+
}
|
|
8563
|
+
/**
|
|
8564
|
+
* It sets the value for whether the current tool/solution is using css v2 for window responsiveness.
|
|
8565
|
+
*/
|
|
8566
|
+
set cssV2(input) {
|
|
8567
|
+
this.internalCssV2 = !!input;
|
|
8568
|
+
}
|
|
8569
|
+
/**
|
|
8570
|
+
* Gets the phone down mode.
|
|
8571
|
+
*/
|
|
8572
|
+
get phoneDown() {
|
|
8573
|
+
return this.internalPhoneDown;
|
|
8574
|
+
}
|
|
8575
|
+
/**
|
|
8576
|
+
* Sets the phone down mode.
|
|
8577
|
+
*/
|
|
8578
|
+
set phoneDown(input) {
|
|
8579
|
+
this.internalPhoneDown = !!input;
|
|
8580
|
+
}
|
|
8581
|
+
/**
|
|
8582
|
+
* Gets the phone up mode.
|
|
8583
|
+
*/
|
|
8584
|
+
get phoneUp() {
|
|
8585
|
+
return this.internalPhoneUp;
|
|
8586
|
+
}
|
|
8587
|
+
/**
|
|
8588
|
+
* Set the phone up mode.
|
|
8589
|
+
*/
|
|
8590
|
+
set phoneUp(input) {
|
|
8591
|
+
this.internalPhoneUp = !!input;
|
|
8592
|
+
}
|
|
8593
|
+
/**
|
|
8594
|
+
* Gets the reflow mode.
|
|
8595
|
+
*/
|
|
8596
|
+
get reflowMode() {
|
|
8597
|
+
return this.internalReflowMode;
|
|
8598
|
+
}
|
|
8599
|
+
/**
|
|
8600
|
+
* Sets the reflow mode.
|
|
8601
|
+
*/
|
|
8602
|
+
set reflowMode(input) {
|
|
8603
|
+
this.internalReflowMode = !!input;
|
|
8604
|
+
}
|
|
8605
|
+
/**
|
|
8606
|
+
* Gets the width of the window from the window object.
|
|
8607
|
+
* Should only be called on layout or window size change.
|
|
8608
|
+
*/
|
|
8609
|
+
get width() {
|
|
8610
|
+
return window === null || window === void 0 ? void 0 : window.innerWidth;
|
|
8611
|
+
}
|
|
8612
|
+
/**
|
|
8613
|
+
* Gets the height of the window from the window object.
|
|
8614
|
+
* Should only be called on layout or window size change.
|
|
8615
|
+
*/
|
|
8616
|
+
get height() {
|
|
8617
|
+
return window === null || window === void 0 ? void 0 : window.innerHeight;
|
|
8618
|
+
}
|
|
8619
|
+
/**
|
|
8620
|
+
* Gets the last known window responsive data.
|
|
8621
|
+
*/
|
|
8622
|
+
get prevSize() {
|
|
8623
|
+
var _a, _b;
|
|
8624
|
+
if (((_a = this.internalPrevSize) === null || _a === void 0 ? void 0 : _a.width) === this.width && ((_b = this.internalPrevSize) === null || _b === void 0 ? void 0 : _b.height) === this.height) {
|
|
8625
|
+
return this.internalPrevSize;
|
|
8626
|
+
}
|
|
8627
|
+
else {
|
|
8628
|
+
return this.getSmeResponsiveWindowData();
|
|
8629
|
+
}
|
|
8630
|
+
}
|
|
8631
|
+
/**
|
|
8632
|
+
* Gets the window responsive break points.
|
|
8633
|
+
*/
|
|
8634
|
+
get size() {
|
|
8635
|
+
const width = this.width;
|
|
8636
|
+
if (width <= SmeResponsiveWindowBreakpointsValue.Reflow) {
|
|
8637
|
+
this.reflowMode = true;
|
|
8638
|
+
this.phoneDown = false;
|
|
8639
|
+
this.phoneUp = false;
|
|
8640
|
+
this.responsiveWindowState = SmeResponsiveWindowBreakpoints.Reflow;
|
|
8641
|
+
}
|
|
8642
|
+
else if (width <= SmeResponsiveWindowBreakpointsValue.PhoneDown) {
|
|
8643
|
+
this.reflowMode = false;
|
|
8644
|
+
this.phoneDown = true;
|
|
8645
|
+
this.phoneUp = false;
|
|
8646
|
+
this.responsiveWindowState = SmeResponsiveWindowBreakpoints.PhoneDown;
|
|
8647
|
+
}
|
|
8648
|
+
else {
|
|
8649
|
+
this.reflowMode = false;
|
|
8650
|
+
this.phoneDown = false;
|
|
8651
|
+
this.phoneUp = true;
|
|
8652
|
+
this.responsiveWindowState = SmeResponsiveWindowBreakpoints.PhoneUp;
|
|
8653
|
+
}
|
|
8654
|
+
return this.responsiveWindowState;
|
|
8655
|
+
}
|
|
8656
|
+
/**
|
|
8657
|
+
* It sets whether the current solution/tool is using the css v2 for window responsiveness.
|
|
8658
|
+
*/
|
|
8659
|
+
setIsCssV2Enabled() {
|
|
8660
|
+
this.cssV2 = this.isUsingCssV2();
|
|
8661
|
+
}
|
|
8662
|
+
/**
|
|
8663
|
+
* The implementation for checking whether the styles are being set.
|
|
8664
|
+
* @returns true if the current tool/solution is using css v2 for window responsiveness.
|
|
8665
|
+
*/
|
|
8666
|
+
isUsingCssV2() {
|
|
8667
|
+
const head = document.getElementsByTagName('head')[0];
|
|
8668
|
+
const links = head.querySelectorAll('link');
|
|
8669
|
+
let cssV2 = true;
|
|
8670
|
+
// sme shell root would be containing style.css and either main.css or main-v2.css
|
|
8671
|
+
// thus as long as it is not main.css, should be using css-v2
|
|
8672
|
+
for (let i = 0; i < links.length; i++) {
|
|
8673
|
+
const link = links[i];
|
|
8674
|
+
if (link.href && link.href.includes('main.css')) {
|
|
8675
|
+
cssV2 = false;
|
|
8676
|
+
break;
|
|
8677
|
+
}
|
|
8678
|
+
}
|
|
8679
|
+
return cssV2;
|
|
8680
|
+
}
|
|
8681
|
+
/**
|
|
8682
|
+
* The functionality to update the core variables for window responsive data.
|
|
8683
|
+
* @returns The SmeResponsiveWindowData object
|
|
8684
|
+
*/
|
|
8685
|
+
getSmeResponsiveWindowData() {
|
|
8686
|
+
// on window size or layout change, gets the width and height from the window object.
|
|
8687
|
+
const width = this.width;
|
|
8688
|
+
const height = this.height;
|
|
8689
|
+
// based on the window size information, calculates the core paramters.
|
|
8690
|
+
const size = this.size;
|
|
8691
|
+
// the 3 gets above sets these following 3 parameters.
|
|
8692
|
+
const reflowMode = this.reflowMode;
|
|
8693
|
+
const phoneDown = this.phoneDown;
|
|
8694
|
+
const phoneUp = this.phoneUp;
|
|
8695
|
+
// sets the object and return.
|
|
8696
|
+
this.internalPrevSize = {
|
|
8697
|
+
width: width,
|
|
8698
|
+
height: height,
|
|
8699
|
+
size: size,
|
|
8700
|
+
reflowMode: reflowMode,
|
|
8701
|
+
phoneDown: phoneDown,
|
|
8702
|
+
phoneUp: phoneUp
|
|
8703
|
+
};
|
|
8704
|
+
return this.internalPrevSize;
|
|
8705
|
+
}
|
|
8706
|
+
/**
|
|
8707
|
+
* On layout changed event handler, occurs every time the layout has been changed.
|
|
8708
|
+
*/
|
|
8709
|
+
onLayoutChanged() {
|
|
8710
|
+
this.getSmeResponsiveWindowData();
|
|
8711
|
+
}
|
|
8712
|
+
/**
|
|
8713
|
+
* The deferred layout changed handler.
|
|
8714
|
+
*/
|
|
8715
|
+
deferredOnLayoutChanged() {
|
|
8716
|
+
this.onLayoutChanged();
|
|
8717
|
+
}
|
|
8718
|
+
/**
|
|
8719
|
+
* To respond to a layout breakpoint changed event.
|
|
8720
|
+
* @returns void
|
|
8721
|
+
*/
|
|
8722
|
+
onWindowBreakpointChanged() {
|
|
8723
|
+
return;
|
|
8724
|
+
}
|
|
8725
|
+
/**
|
|
8726
|
+
* Gets the parent element by html tag. By default, go up 10 levels for enhanced performance.
|
|
8727
|
+
* @param inputElement The input element.
|
|
8728
|
+
* @returns The targeted html element get by the html tag
|
|
8729
|
+
*/
|
|
8730
|
+
getParentElementByTag(inputElement, parentHtmlTags = ['sme-pivot', 'sme-split-view', 'sme-settings-page'], levelExternal = 10, customKeywords, untilTagName) {
|
|
8731
|
+
if (!inputElement) {
|
|
8732
|
+
return undefined;
|
|
8733
|
+
}
|
|
8734
|
+
let level = levelExternal;
|
|
8735
|
+
let found = false;
|
|
8736
|
+
let parent = inputElement;
|
|
8737
|
+
while (level > 0 && !found) {
|
|
8738
|
+
if (parent) {
|
|
8739
|
+
parent = parent.parentElement;
|
|
8740
|
+
}
|
|
8741
|
+
const parentTagName = parent === null || parent === void 0 ? void 0 : parent.tagName.toLocaleLowerCase();
|
|
8742
|
+
if (untilTagName) {
|
|
8743
|
+
if (parentTagName === untilTagName.toLowerCase()) {
|
|
8744
|
+
return undefined;
|
|
8745
|
+
}
|
|
8746
|
+
}
|
|
8747
|
+
if (parentHtmlTags.includes(parentTagName) || (customKeywords !== undefined && (parentTagName === null || parentTagName === void 0 ? void 0 : parentTagName.includes(customKeywords)))) {
|
|
8748
|
+
found = true;
|
|
8749
|
+
return parent;
|
|
8750
|
+
}
|
|
8751
|
+
level -= 1;
|
|
8752
|
+
}
|
|
8753
|
+
return undefined;
|
|
8754
|
+
}
|
|
8755
|
+
/**
|
|
8756
|
+
* The core algorithm for adding and removing classes based on window size and window size settings.
|
|
8757
|
+
* @param settings the settings object
|
|
8758
|
+
* @param curSettings the current setting
|
|
8759
|
+
* @param element the html element for setting up classes.
|
|
8760
|
+
* @returns void.
|
|
8761
|
+
*/
|
|
8762
|
+
updateClassArrayOnWindowSize(settings, curSettings, element) {
|
|
8763
|
+
if (!settings) {
|
|
8764
|
+
return;
|
|
8765
|
+
}
|
|
8766
|
+
settings = JSON.parse(JSON.stringify(settings));
|
|
8767
|
+
const phoneDown = JSON.parse(JSON.stringify(settings.phoneDown));
|
|
8768
|
+
const phoneUp = JSON.parse(JSON.stringify(settings.phoneUp));
|
|
8769
|
+
const reflow = JSON.parse(JSON.stringify(settings.reflow));
|
|
8770
|
+
let toBeRemovedClassList = [];
|
|
8771
|
+
let toBeAddedClassList = [];
|
|
8772
|
+
switch (curSettings) {
|
|
8773
|
+
case 'phoneUp':
|
|
8774
|
+
toBeAddedClassList = phoneUp;
|
|
8775
|
+
toBeRemovedClassList = phoneDown;
|
|
8776
|
+
toBeRemovedClassList = this.uniqueArray(toBeRemovedClassList, reflow);
|
|
8777
|
+
break;
|
|
8778
|
+
case 'phoneDown':
|
|
8779
|
+
toBeAddedClassList = phoneDown;
|
|
8780
|
+
toBeRemovedClassList = phoneUp;
|
|
8781
|
+
toBeRemovedClassList = this.uniqueArray(toBeRemovedClassList, reflow);
|
|
8782
|
+
break;
|
|
8783
|
+
case 'reflow':
|
|
8784
|
+
toBeAddedClassList = reflow;
|
|
8785
|
+
toBeRemovedClassList = phoneDown;
|
|
8786
|
+
toBeRemovedClassList = this.uniqueArray(toBeRemovedClassList, phoneUp);
|
|
8787
|
+
break;
|
|
8788
|
+
}
|
|
8789
|
+
toBeRemovedClassList = this.removeExistedItem(toBeRemovedClassList, toBeAddedClassList);
|
|
8790
|
+
for (let i = 0; i < toBeRemovedClassList.length; i++) {
|
|
8791
|
+
if (element.classList.contains(toBeRemovedClassList[i])) {
|
|
8792
|
+
element.classList.remove(toBeRemovedClassList[i]);
|
|
8793
|
+
}
|
|
8794
|
+
}
|
|
8795
|
+
for (let i = 0; i < toBeAddedClassList.length; i++) {
|
|
8796
|
+
if (!element.classList.contains(toBeAddedClassList[i])) {
|
|
8797
|
+
element.classList.add(toBeAddedClassList[i]);
|
|
8798
|
+
}
|
|
8799
|
+
}
|
|
8800
|
+
}
|
|
8801
|
+
/**
|
|
8802
|
+
* Merge two arrays with unique items.
|
|
8803
|
+
* @param arrayA the input array A
|
|
8804
|
+
* @param arrayB the input array B
|
|
8805
|
+
* @returns an array that contains unique items from array A and array B
|
|
8806
|
+
*/
|
|
8807
|
+
uniqueArray(arrayA, arrayB) {
|
|
8808
|
+
if (arrayB && arrayB.length) {
|
|
8809
|
+
for (let i = 0; i < arrayB.length; i++) {
|
|
8810
|
+
if (!arrayA.includes(arrayB[i])) {
|
|
8811
|
+
arrayA.push(arrayB[i]);
|
|
8812
|
+
}
|
|
8813
|
+
}
|
|
8814
|
+
}
|
|
8815
|
+
return arrayA;
|
|
8816
|
+
}
|
|
8817
|
+
/**
|
|
8818
|
+
* Guarantees will not remove the classes that needs to be added.
|
|
8819
|
+
* @param toBeRemovedClassList the list of classes that needs to be removed.
|
|
8820
|
+
* @param toBeAddedClassList the list of classes that needs to be added.
|
|
8821
|
+
* @returns the list of classes that needs to be removed and doesn't overlap with the classes that needs to be added.
|
|
8822
|
+
*/
|
|
8823
|
+
removeExistedItem(toBeRemovedClassList, toBeAddedClassList) {
|
|
8824
|
+
if (!toBeAddedClassList || !toBeAddedClassList.length) {
|
|
8825
|
+
return toBeRemovedClassList;
|
|
8826
|
+
}
|
|
8827
|
+
if (!toBeRemovedClassList || !toBeRemovedClassList.length) {
|
|
8828
|
+
return [];
|
|
8829
|
+
}
|
|
8830
|
+
const res = [];
|
|
8831
|
+
for (let i = 0; i < toBeRemovedClassList.length; i++) {
|
|
8832
|
+
if (!toBeAddedClassList.includes(toBeRemovedClassList[i])) {
|
|
8833
|
+
res.push(toBeRemovedClassList[i]);
|
|
8834
|
+
}
|
|
8835
|
+
}
|
|
8836
|
+
return res;
|
|
8837
|
+
}
|
|
8838
|
+
}
|
|
8839
|
+
/** @nocollapse */ SmeResponsiveWindowManagerComponent.ɵfac = function SmeResponsiveWindowManagerComponent_Factory(t) { return new (t || SmeResponsiveWindowManagerComponent)(ɵɵdirectiveInject(SME_LAYOUT_PROVIDER)); };
|
|
8840
|
+
/** @nocollapse */ SmeResponsiveWindowManagerComponent.ɵdir = ɵɵdefineDirective({ type: SmeResponsiveWindowManagerComponent });
|
|
8841
|
+
__decorate([
|
|
8842
|
+
Debounce$1(),
|
|
8843
|
+
__metadata("design:type", Function),
|
|
8844
|
+
__metadata("design:paramtypes", []),
|
|
8845
|
+
__metadata("design:returntype", void 0)
|
|
8846
|
+
], SmeResponsiveWindowManagerComponent.prototype, "deferredOnLayoutChanged", null);
|
|
8847
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && ɵsetClassMetadata(SmeResponsiveWindowManagerComponent, [{
|
|
8848
|
+
type: Directive
|
|
8849
|
+
}], function () { return [{ type: undefined, decorators: [{
|
|
8850
|
+
type: Inject,
|
|
8851
|
+
args: [SME_LAYOUT_PROVIDER]
|
|
8852
|
+
}] }]; }, { deferredOnLayoutChanged: [] }); })();
|
|
8853
|
+
|
|
8854
|
+
var LayoutItemConfigPropertyWidthType;
|
|
8855
|
+
(function (LayoutItemConfigPropertyWidthType) {
|
|
8856
|
+
LayoutItemConfigPropertyWidthType["Percentage"] = "Percentage";
|
|
8857
|
+
LayoutItemConfigPropertyWidthType["Number"] = "Number";
|
|
8858
|
+
})(LayoutItemConfigPropertyWidthType || (LayoutItemConfigPropertyWidthType = {}));
|
|
8859
|
+
var LayoutItemConfigMode;
|
|
8860
|
+
(function (LayoutItemConfigMode) {
|
|
8861
|
+
LayoutItemConfigMode["Default"] = "Default";
|
|
8862
|
+
LayoutItemConfigMode["Custom"] = "Custom";
|
|
8863
|
+
})(LayoutItemConfigMode || (LayoutItemConfigMode = {}));
|
|
8864
|
+
var LayoutDrivenType;
|
|
8865
|
+
(function (LayoutDrivenType) {
|
|
8866
|
+
LayoutDrivenType["Default"] = "Default";
|
|
8867
|
+
LayoutDrivenType["ResponsiveWindowManager"] = "ResponsiveWindowManager";
|
|
8868
|
+
})(LayoutDrivenType || (LayoutDrivenType = {}));
|
|
8869
|
+
/**
|
|
8870
|
+
* The layout config generator.
|
|
8871
|
+
*
|
|
8872
|
+
* It determines the configurable width for the layout item.
|
|
8873
|
+
* Usage:
|
|
8874
|
+
*
|
|
8875
|
+
* const layoutConfigGenerator = new LayoutConfigGenerator();
|
|
8876
|
+
* layoutConfigGenerator.initialize([20, '100'])
|
|
8877
|
+
*
|
|
8878
|
+
* type number is used for pixel.
|
|
8879
|
+
* type string is used for percentage.
|
|
8880
|
+
*/
|
|
8881
|
+
class LayoutConfigGenerator {
|
|
8882
|
+
/**
|
|
8883
|
+
* It initialized the layout configs for the layout component.
|
|
8884
|
+
*
|
|
8885
|
+
* @param phoneUp the layout config array for phone-up
|
|
8886
|
+
* @param phoneDown the layout config array for phone-down
|
|
8887
|
+
* @param reflow the layout config array for reflow
|
|
8888
|
+
* @returns
|
|
8889
|
+
*/
|
|
8890
|
+
initialize(phoneUp, phoneDown, reflow) {
|
|
8891
|
+
const layoutConfig = {};
|
|
8892
|
+
this.parseConfig(layoutConfig, phoneUp, SmeResponsiveWindowBreakpoints.PhoneUp);
|
|
8893
|
+
this.parseConfig(layoutConfig, phoneDown, SmeResponsiveWindowBreakpoints.PhoneDown);
|
|
8894
|
+
this.parseConfig(layoutConfig, reflow, SmeResponsiveWindowBreakpoints.Reflow);
|
|
8895
|
+
console.log(layoutConfig);
|
|
8896
|
+
return layoutConfig;
|
|
8897
|
+
}
|
|
8898
|
+
parseConfig(layoutConfig, config, smeResponsiveWindowBreakpoints) {
|
|
8899
|
+
if (!config) {
|
|
8900
|
+
layoutConfig[smeResponsiveWindowBreakpoints] = {
|
|
8901
|
+
mode: LayoutItemConfigMode.Default
|
|
8902
|
+
};
|
|
8903
|
+
}
|
|
8904
|
+
else {
|
|
8905
|
+
layoutConfig[smeResponsiveWindowBreakpoints] = {
|
|
8906
|
+
mode: LayoutItemConfigMode.Custom,
|
|
8907
|
+
config: []
|
|
8908
|
+
};
|
|
8909
|
+
for (let i = 0; i <= config.length; i++) {
|
|
8910
|
+
layoutConfig[smeResponsiveWindowBreakpoints].config.push({
|
|
8911
|
+
width: {
|
|
8912
|
+
type: typeof config[i] === 'string' ?
|
|
8913
|
+
LayoutItemConfigPropertyWidthType.Percentage : LayoutItemConfigPropertyWidthType.Number,
|
|
8914
|
+
value: typeof config[i] === 'string' ? parseFloat(config[i]) : config[i]
|
|
8915
|
+
}
|
|
8916
|
+
});
|
|
8917
|
+
}
|
|
8918
|
+
}
|
|
8919
|
+
}
|
|
8920
|
+
}
|
|
8921
|
+
|
|
8484
8922
|
class LayoutDefinitionComponent {
|
|
8485
8923
|
constructor() {
|
|
8486
8924
|
this.until = Number.MAX_VALUE;
|
|
@@ -8556,9 +8994,9 @@ class LayoutItemComponent extends CoreBaseComponent {
|
|
|
8556
8994
|
}
|
|
8557
8995
|
}
|
|
8558
8996
|
/** @nocollapse */ LayoutItemComponent.ɵfac = function LayoutItemComponent_Factory(t) { return new (t || LayoutItemComponent)(ɵɵdirectiveInject(Injector)); };
|
|
8559
|
-
/** @nocollapse */ LayoutItemComponent.ɵcmp = ɵɵdefineComponent({ type: LayoutItemComponent, selectors: [["sme-layout-item"]], hostVars:
|
|
8560
|
-
ɵɵstyleProp("width", ctx.width)("padding-right", ctx.paddingRight)("padding-bottom", ctx.paddingBottom);
|
|
8561
|
-
} }, inputs: { columnSpan: "columnSpan", caption: "caption", maxWidth: "maxWidth" }, features: [ɵɵInheritDefinitionFeature], ngContentSelectors: _c0$e, decls: 2, vars: 1, consts: [["class", "sme-font-family-bold sme-border-bottom-sm sme-border-bottom-color-base-40 sme-padding-bottom-xs sme-margin-vertical-sm", 4, "ngIf"], [1, "sme-font-family-bold", "sme-border-bottom-sm", "sme-border-bottom-color-base-40", "sme-padding-bottom-xs", "sme-margin-vertical-sm"]], template: function LayoutItemComponent_Template(rf, ctx) { if (rf & 1) {
|
|
8997
|
+
/** @nocollapse */ LayoutItemComponent.ɵcmp = ɵɵdefineComponent({ type: LayoutItemComponent, selectors: [["sme-layout-item"]], hostVars: 10, hostBindings: function LayoutItemComponent_HostBindings(rf, ctx) { if (rf & 2) {
|
|
8998
|
+
ɵɵstyleProp("width", ctx.width)("padding-right", ctx.paddingRight)("padding-bottom", ctx.paddingBottom)("flex", ctx.flex)("min-width", ctx.minWidth);
|
|
8999
|
+
} }, inputs: { columnSpan: "columnSpan", caption: "caption", customConfig: "customConfig", maxWidth: "maxWidth" }, features: [ɵɵInheritDefinitionFeature], ngContentSelectors: _c0$e, decls: 2, vars: 1, consts: [["class", "sme-font-family-bold sme-border-bottom-sm sme-border-bottom-color-base-40 sme-padding-bottom-xs sme-margin-vertical-sm", 4, "ngIf"], [1, "sme-font-family-bold", "sme-border-bottom-sm", "sme-border-bottom-color-base-40", "sme-padding-bottom-xs", "sme-margin-vertical-sm"]], template: function LayoutItemComponent_Template(rf, ctx) { if (rf & 1) {
|
|
8562
9000
|
ɵɵprojectionDef();
|
|
8563
9001
|
ɵɵtemplate(0, LayoutItemComponent_div_0_Template, 2, 1, "div", 0);
|
|
8564
9002
|
ɵɵprojection(1);
|
|
@@ -8580,14 +9018,41 @@ class LayoutItemComponent extends CoreBaseComponent {
|
|
|
8580
9018
|
}], paddingBottom: [{
|
|
8581
9019
|
type: HostBinding,
|
|
8582
9020
|
args: ['style.paddingBottom']
|
|
9021
|
+
}], flex: [{
|
|
9022
|
+
type: HostBinding,
|
|
9023
|
+
args: ['style.flex']
|
|
9024
|
+
}], minWidth: [{
|
|
9025
|
+
type: HostBinding,
|
|
9026
|
+
args: ['style.min-width']
|
|
8583
9027
|
}], columnSpan: [{
|
|
8584
9028
|
type: Input
|
|
8585
9029
|
}], caption: [{
|
|
8586
9030
|
type: Input
|
|
9031
|
+
}], customConfig: [{
|
|
9032
|
+
type: Input
|
|
8587
9033
|
}], maxWidth: [{
|
|
8588
9034
|
type: Input
|
|
8589
9035
|
}] }); })();
|
|
8590
9036
|
|
|
9037
|
+
class LayoutResponsiveWindowManager extends SmeResponsiveWindowManagerComponent {
|
|
9038
|
+
constructor() {
|
|
9039
|
+
super(...arguments);
|
|
9040
|
+
this.name = 'sme-layout';
|
|
9041
|
+
}
|
|
9042
|
+
onWindowSizeChanged() {
|
|
9043
|
+
if (!this.cssV2) {
|
|
9044
|
+
return;
|
|
9045
|
+
}
|
|
9046
|
+
// Can handle dynamic configuration, custom styling on different size of the window later on.
|
|
9047
|
+
}
|
|
9048
|
+
}
|
|
9049
|
+
__decorate([
|
|
9050
|
+
Yield$1(),
|
|
9051
|
+
__metadata("design:type", Function),
|
|
9052
|
+
__metadata("design:paramtypes", []),
|
|
9053
|
+
__metadata("design:returntype", void 0)
|
|
9054
|
+
], LayoutResponsiveWindowManager.prototype, "onWindowSizeChanged", null);
|
|
9055
|
+
|
|
8591
9056
|
const _c0$f = [[["sme-layout-item"]]];
|
|
8592
9057
|
const _c1$6 = ["sme-layout-item"];
|
|
8593
9058
|
/**
|
|
@@ -8596,18 +9061,64 @@ const _c1$6 = ["sme-layout-item"];
|
|
|
8596
9061
|
class LayoutComponent extends CoreBaseComponent {
|
|
8597
9062
|
constructor(injector, layout) {
|
|
8598
9063
|
super(injector);
|
|
8599
|
-
|
|
9064
|
+
/**
|
|
9065
|
+
* The default horizontal space in between layout items.
|
|
9066
|
+
*/
|
|
8600
9067
|
this.itemHorizontalSpace = 32;
|
|
9068
|
+
/**
|
|
9069
|
+
* The default vertical space in between layout items.
|
|
9070
|
+
*/
|
|
8601
9071
|
this.itemVerticalSpace = 32;
|
|
9072
|
+
/**
|
|
9073
|
+
* If true, will always try to fill the whole row for each layout item.
|
|
9074
|
+
*/
|
|
8602
9075
|
this.tryToFillWholeRow = true;
|
|
9076
|
+
/**
|
|
9077
|
+
* The layout definition.
|
|
9078
|
+
*/
|
|
8603
9079
|
this.definition = {};
|
|
9080
|
+
/**
|
|
9081
|
+
* If false, it will not assign extra paddings to the right for the last layout item.
|
|
9082
|
+
*/
|
|
8604
9083
|
this.padLastItem = false;
|
|
9084
|
+
/**
|
|
9085
|
+
* If true, not extra right padding when there is only one item that uses the whole width of the row.
|
|
9086
|
+
*/
|
|
8605
9087
|
this.noExtraRightPaddingOneItemPerRow = true;
|
|
9088
|
+
/**
|
|
9089
|
+
* It determines whether the layout is for settings where it contains a left and right layout item.
|
|
9090
|
+
* If true, will apply special design for settings layout.
|
|
9091
|
+
* On phone-up, the left side navigation layout item will be using a fixed width by default 300px,
|
|
9092
|
+
* the right side layout item will be using the remaining width by default.
|
|
9093
|
+
*
|
|
9094
|
+
* On phone-down or 400% zoom, nothing is different from the regular settings page,
|
|
9095
|
+
* the left right layout will be transformed to top bottom layout.
|
|
9096
|
+
*/
|
|
9097
|
+
this.layoutConfig = {
|
|
9098
|
+
[SmeResponsiveWindowBreakpoints.PhoneUp]: { 'mode': LayoutItemConfigMode.Default },
|
|
9099
|
+
[SmeResponsiveWindowBreakpoints.PhoneDown]: { 'mode': LayoutItemConfigMode.Default },
|
|
9100
|
+
[SmeResponsiveWindowBreakpoints.Reflow]: { 'mode': LayoutItemConfigMode.Default }
|
|
9101
|
+
};
|
|
9102
|
+
/**
|
|
9103
|
+
* Implementation of the Layout interface
|
|
9104
|
+
*/
|
|
8606
9105
|
this.layoutChanged = new EventEmitter();
|
|
8607
|
-
|
|
8608
|
-
|
|
8609
|
-
|
|
8610
|
-
|
|
9106
|
+
/**
|
|
9107
|
+
* Implementation of the Layout interface
|
|
9108
|
+
*/
|
|
9109
|
+
this.windowBreakpointChanged = new EventEmitter();
|
|
9110
|
+
this.columnCount = 1;
|
|
9111
|
+
this.columnSpanTotal = 0;
|
|
9112
|
+
this.layoutDrivenType = LayoutDrivenType.Default;
|
|
9113
|
+
this.stylePixel = 'px';
|
|
9114
|
+
if (layout) {
|
|
9115
|
+
this.layoutResponsiveWindowManager = new LayoutResponsiveWindowManager(layout);
|
|
9116
|
+
// on parent layout changes, re-emit the layout change to our event
|
|
9117
|
+
this.subscriptions.push(layout.layoutChanged.subscribe((() => this.onLayoutChanged())));
|
|
9118
|
+
// on window break point changes, emit the event about critical classes and styling updates signal.
|
|
9119
|
+
this.subscriptions.push(layout.windowBreakpointChanged.subscribe(() => this.onWindowBreakpointChanged()));
|
|
9120
|
+
this.deferredOnLayoutChanged();
|
|
9121
|
+
}
|
|
8611
9122
|
}
|
|
8612
9123
|
/**
|
|
8613
9124
|
* The source name to use for logging
|
|
@@ -8618,15 +9129,48 @@ class LayoutComponent extends CoreBaseComponent {
|
|
|
8618
9129
|
get currentLayoutDefinitionName() {
|
|
8619
9130
|
return this.currentLayoutDefinition ? this.currentLayoutDefinition.name : '';
|
|
8620
9131
|
}
|
|
9132
|
+
get currentLayoutDrivenType() {
|
|
9133
|
+
return this.layoutDrivenType;
|
|
9134
|
+
}
|
|
9135
|
+
get currentWindowBreakpoint() {
|
|
9136
|
+
var _a;
|
|
9137
|
+
return (_a = this.layoutResponsiveWindowManager) === null || _a === void 0 ? void 0 : _a.prevSize.size;
|
|
9138
|
+
}
|
|
9139
|
+
get currentLayoutItems() {
|
|
9140
|
+
return this.layoutItems;
|
|
9141
|
+
}
|
|
8621
9142
|
ngAfterViewInit() {
|
|
8622
9143
|
this.subscriptions.push(this.layoutItems.changes.subscribe(() => this.onLayoutChanged()));
|
|
8623
9144
|
}
|
|
9145
|
+
/**
|
|
9146
|
+
* The open API for refreshing the control externally.
|
|
9147
|
+
*/
|
|
9148
|
+
refresh() {
|
|
9149
|
+
this.resetFlex();
|
|
9150
|
+
this.onLayoutChanged();
|
|
9151
|
+
}
|
|
8624
9152
|
/**
|
|
8625
9153
|
* On layout changed event handler, occurs every time the layout has been changed.
|
|
8626
9154
|
*/
|
|
8627
9155
|
onLayoutChanged() {
|
|
8628
9156
|
this.updateLayout();
|
|
8629
9157
|
}
|
|
9158
|
+
/**
|
|
9159
|
+
* The deferred layout changed handler.
|
|
9160
|
+
*/
|
|
9161
|
+
deferredOnLayoutChanged() {
|
|
9162
|
+
this.onLayoutChanged();
|
|
9163
|
+
}
|
|
9164
|
+
/**
|
|
9165
|
+
* The on window breakpoint changed handler.
|
|
9166
|
+
* Adding yield for component to get ElementRef after initialization.
|
|
9167
|
+
*/
|
|
9168
|
+
onWindowBreakpointChanged() {
|
|
9169
|
+
if (!this.layoutItems || !this.layoutItems.toArray()) {
|
|
9170
|
+
return;
|
|
9171
|
+
}
|
|
9172
|
+
this.layoutResponsiveWindowManager.onWindowSizeChanged();
|
|
9173
|
+
}
|
|
8630
9174
|
// Adds classes listed to the root component
|
|
8631
9175
|
// On phone down the flex start needs to be flex start to make sure no extra space being generated.
|
|
8632
9176
|
getInitialHostClasses() {
|
|
@@ -8636,83 +9180,307 @@ class LayoutComponent extends CoreBaseComponent {
|
|
|
8636
9180
|
}
|
|
8637
9181
|
updateLayout() {
|
|
8638
9182
|
setTimeout(() => {
|
|
8639
|
-
|
|
8640
|
-
|
|
8641
|
-
|
|
8642
|
-
|
|
8643
|
-
|
|
8644
|
-
|
|
8645
|
-
|
|
9183
|
+
if (!this.layoutItems) {
|
|
9184
|
+
return;
|
|
9185
|
+
}
|
|
9186
|
+
const layoutItems = this.layoutItems.toArray();
|
|
9187
|
+
this.getTotalColumnSpan(layoutItems);
|
|
9188
|
+
const currentWindowSize = this.layoutResponsiveWindowManager.prevSize.size;
|
|
9189
|
+
this.updateLayoutConfig(currentWindowSize);
|
|
9190
|
+
const layoutWidth = this.hostElement.nativeElement.clientWidth || Number.MAX_VALUE;
|
|
9191
|
+
if (this.layoutDrivenType === LayoutDrivenType.Default) {
|
|
8646
9192
|
const definitions = this.definitions.toArray().sort((a, b) => a.until - b.until);
|
|
8647
9193
|
const previousLayoutDefinition = this.currentLayoutDefinition;
|
|
8648
|
-
this.
|
|
8649
|
-
for (let i = definitions.length - 1; i >= 0; i--) {
|
|
8650
|
-
const definitionColumns = definitions[i].columns;
|
|
8651
|
-
if (layoutWidth <= definitions[i].until || (this.tryToFillWholeRow && columnSpanTotal <= definitionColumns)) {
|
|
8652
|
-
columnCount = definitionColumns;
|
|
8653
|
-
this.currentLayoutDefinition = definitions[i];
|
|
8654
|
-
}
|
|
8655
|
-
}
|
|
9194
|
+
this.updateCurrentLayoutDefinition(definitions, layoutWidth);
|
|
8656
9195
|
const itemHorizontalSpacePercentage = Math.round(this.itemHorizontalSpace * 100 / layoutWidth);
|
|
8657
9196
|
const columnCountModifier = this.padLastItem ? 0 : 1;
|
|
8658
|
-
const availableLayoutWidthPercentage = 100 - itemHorizontalSpacePercentage * (columnCount - columnCountModifier);
|
|
8659
|
-
|
|
8660
|
-
|
|
8661
|
-
|
|
8662
|
-
|
|
8663
|
-
|
|
8664
|
-
|
|
8665
|
-
|
|
8666
|
-
|
|
8667
|
-
|
|
8668
|
-
|
|
9197
|
+
const availableLayoutWidthPercentage = 100 - itemHorizontalSpacePercentage * (this.columnCount - columnCountModifier);
|
|
9198
|
+
this.layoutDefinitionWithColumnSpanCalculation(layoutItems, availableLayoutWidthPercentage, itemHorizontalSpacePercentage);
|
|
9199
|
+
if (previousLayoutDefinition !== this.currentLayoutDefinition) {
|
|
9200
|
+
setTimeout(() => {
|
|
9201
|
+
this.layoutChanged.emit();
|
|
9202
|
+
});
|
|
9203
|
+
}
|
|
9204
|
+
}
|
|
9205
|
+
else if (this.layoutDrivenType === LayoutDrivenType.ResponsiveWindowManager) {
|
|
9206
|
+
let availableLayoutWidthInPixel = layoutWidth - this.itemHorizontalSpace;
|
|
9207
|
+
availableLayoutWidthInPixel = availableLayoutWidthInPixel > 0 ? availableLayoutWidthInPixel : 0;
|
|
9208
|
+
if (availableLayoutWidthInPixel <= 0) {
|
|
9209
|
+
return;
|
|
9210
|
+
}
|
|
9211
|
+
this.configDrivenCalculation(layoutItems, availableLayoutWidthInPixel);
|
|
9212
|
+
}
|
|
9213
|
+
});
|
|
9214
|
+
}
|
|
9215
|
+
updateLayoutConfig(currentWindowSize) {
|
|
9216
|
+
if (!currentWindowSize) {
|
|
9217
|
+
this.layoutDrivenType = LayoutDrivenType.Default;
|
|
9218
|
+
return;
|
|
9219
|
+
}
|
|
9220
|
+
const phoneUp = this.layoutConfig.PhoneUp;
|
|
9221
|
+
const phoneDown = this.layoutConfig.PhoneDown;
|
|
9222
|
+
const reflow = this.layoutConfig.Reflow;
|
|
9223
|
+
if (!phoneUp || !phoneDown || !reflow) {
|
|
9224
|
+
Logging.log({
|
|
9225
|
+
level: LogLevel.Debug,
|
|
9226
|
+
message: 'Invalid layout config has been passed in',
|
|
9227
|
+
source: 'DataTableComponent.onContentTablePressed'
|
|
9228
|
+
});
|
|
9229
|
+
const defaultMode = { 'mode': LayoutItemConfigMode.Default };
|
|
9230
|
+
if (!phoneUp) {
|
|
9231
|
+
this.layoutConfig.PhoneUp = defaultMode;
|
|
9232
|
+
}
|
|
9233
|
+
if (!phoneDown) {
|
|
9234
|
+
this.layoutConfig.PhoneDown = defaultMode;
|
|
9235
|
+
}
|
|
9236
|
+
if (!reflow) {
|
|
9237
|
+
this.layoutConfig.Reflow = defaultMode;
|
|
9238
|
+
}
|
|
9239
|
+
}
|
|
9240
|
+
const currentConfig = this.layoutConfig[currentWindowSize];
|
|
9241
|
+
if (currentConfig.mode === LayoutItemConfigMode.Default) {
|
|
9242
|
+
this.setLayoutDrivenType(LayoutDrivenType.Default);
|
|
9243
|
+
}
|
|
9244
|
+
else if (currentConfig.mode === LayoutItemConfigMode.Custom && currentConfig.config && currentConfig.config.length) {
|
|
9245
|
+
this.setLayoutDrivenType(LayoutDrivenType.ResponsiveWindowManager);
|
|
9246
|
+
this.currentLayoutItemConfig = currentConfig.config;
|
|
9247
|
+
}
|
|
9248
|
+
}
|
|
9249
|
+
resetFlex() {
|
|
9250
|
+
const layoutItems = this.layoutItems.toArray();
|
|
9251
|
+
for (let i = 0; i < layoutItems.length; i++) {
|
|
9252
|
+
const layoutItem = layoutItems[i];
|
|
9253
|
+
if (layoutItem.flex) {
|
|
9254
|
+
layoutItem.flex = undefined;
|
|
9255
|
+
}
|
|
9256
|
+
}
|
|
9257
|
+
}
|
|
9258
|
+
setLayoutDrivenType(layoutDrivenType) {
|
|
9259
|
+
if (this.layoutDrivenType === LayoutDrivenType.ResponsiveWindowManager && layoutDrivenType === LayoutDrivenType.Default) {
|
|
9260
|
+
this.resetFlex();
|
|
9261
|
+
}
|
|
9262
|
+
this.layoutDrivenType = layoutDrivenType;
|
|
9263
|
+
}
|
|
9264
|
+
getTotalColumnSpan(layoutItems) {
|
|
9265
|
+
this.columnSpanTotal = 0;
|
|
9266
|
+
layoutItems.forEach(item => this.columnSpanTotal += item.columnSpan);
|
|
9267
|
+
}
|
|
9268
|
+
updateCurrentLayoutDefinition(definitions, layoutWidth) {
|
|
9269
|
+
this.currentLayoutDefinition = undefined;
|
|
9270
|
+
for (let i = definitions.length - 1; i >= 0; i--) {
|
|
9271
|
+
const definitionColumns = definitions[i].columns;
|
|
9272
|
+
if (layoutWidth <= definitions[i].until || (this.tryToFillWholeRow && this.columnSpanTotal <= definitionColumns)) {
|
|
9273
|
+
this.columnCount = definitionColumns;
|
|
9274
|
+
this.currentLayoutDefinition = definitions[i];
|
|
9275
|
+
}
|
|
9276
|
+
}
|
|
9277
|
+
}
|
|
9278
|
+
layoutDefinitionWithColumnSpanCalculation(layoutItems, availableLayoutWidthPercentage, itemHorizontalSpacePercentage) {
|
|
9279
|
+
var _a;
|
|
9280
|
+
let percentageSoFar = 0;
|
|
9281
|
+
let columnIndex = 0;
|
|
9282
|
+
for (let i = 0; i < layoutItems.length; i++) {
|
|
9283
|
+
let percentage = 0;
|
|
9284
|
+
columnIndex += layoutItems[i].columnSpan;
|
|
9285
|
+
if (columnIndex === this.columnCount) {
|
|
9286
|
+
// If true, it means this layout item is the last one in the row.
|
|
9287
|
+
// It ensures the last one in the row use rest of the percentage.
|
|
9288
|
+
// Example: If it's a 3 column layout, the last one's percentage is 33.34%, not 33.33%
|
|
9289
|
+
percentage = 100 - percentageSoFar;
|
|
9290
|
+
percentageSoFar = 0;
|
|
9291
|
+
// 1 column and 1 layout item.
|
|
9292
|
+
if (columnIndex === 1 && this.columnCount === 1 && !this.noExtraRightPaddingOneItemPerRow) {
|
|
9293
|
+
layoutItems[i].paddingRight = '0px';
|
|
9294
|
+
}
|
|
9295
|
+
else {
|
|
9296
|
+
layoutItems[i].paddingRight = this.padLastItem ? this.itemHorizontalSpace + this.stylePixel : '0' + this.stylePixel;
|
|
9297
|
+
}
|
|
9298
|
+
columnIndex = 0;
|
|
9299
|
+
}
|
|
9300
|
+
else {
|
|
9301
|
+
const columnPercentage = Math.round(availableLayoutWidthPercentage * 100 / this.columnCount) / 100;
|
|
9302
|
+
percentage = layoutItems[i].columnSpan * (columnPercentage + itemHorizontalSpacePercentage);
|
|
9303
|
+
percentageSoFar += percentage;
|
|
9304
|
+
if (percentageSoFar > 100) {
|
|
9305
|
+
// put item on next row if it is too big
|
|
9306
|
+
if (percentage > 100) {
|
|
9307
|
+
percentage = 100;
|
|
9308
|
+
}
|
|
9309
|
+
percentageSoFar = 0;
|
|
9310
|
+
columnIndex = 0;
|
|
9311
|
+
layoutItems[i].paddingRight = this.padLastItem ? this.itemHorizontalSpace + this.stylePixel : '0' + this.stylePixel;
|
|
9312
|
+
}
|
|
9313
|
+
else {
|
|
9314
|
+
layoutItems[i].paddingRight = this.itemHorizontalSpace + this.stylePixel;
|
|
9315
|
+
}
|
|
9316
|
+
}
|
|
9317
|
+
if ((_a = this === null || this === void 0 ? void 0 : this.currentLayoutDefinition) === null || _a === void 0 ? void 0 : _a.addBottomPadding) {
|
|
9318
|
+
layoutItems[i].paddingBottom = this.itemVerticalSpace + this.stylePixel;
|
|
9319
|
+
}
|
|
9320
|
+
else {
|
|
9321
|
+
// If bottom padding already exists and currentLayoutDefinition.addBottomPadding is False
|
|
9322
|
+
// Remove the bottom padding.
|
|
9323
|
+
if (layoutItems[i].paddingBottom === this.itemVerticalSpace + this.stylePixel) {
|
|
9324
|
+
layoutItems[i].paddingBottom = '0' + this.stylePixel;
|
|
9325
|
+
}
|
|
9326
|
+
}
|
|
9327
|
+
layoutItems[i].width = percentage + '%';
|
|
9328
|
+
layoutItems[i].ready();
|
|
9329
|
+
}
|
|
9330
|
+
}
|
|
9331
|
+
configDrivenCalculation(layoutItems, availableLayoutWidthInPixel) {
|
|
9332
|
+
const isHybridMode = this.updateCustomConfig(layoutItems);
|
|
9333
|
+
if (isHybridMode) {
|
|
9334
|
+
this.configDrivenCalculationHybrid(layoutItems, availableLayoutWidthInPixel);
|
|
9335
|
+
}
|
|
9336
|
+
else {
|
|
9337
|
+
this.configDrivenCalculationDefault(layoutItems, availableLayoutWidthInPixel);
|
|
9338
|
+
}
|
|
9339
|
+
}
|
|
9340
|
+
/**
|
|
9341
|
+
* It deal with configurations that only has either percentage or number.
|
|
9342
|
+
* Aiming at performance optimization.
|
|
9343
|
+
*
|
|
9344
|
+
* @param layoutItems The layout item object array
|
|
9345
|
+
* @param availableLayoutWidthInPixel available width in pixel horizontally.
|
|
9346
|
+
*/
|
|
9347
|
+
configDrivenCalculationDefault(layoutItems, availableLayoutWidthInPixel) {
|
|
9348
|
+
const defaultWidthForLayoutItemInPixel = 200;
|
|
9349
|
+
let widthUsedInPixel = 0;
|
|
9350
|
+
let percentageSoFar = 0;
|
|
9351
|
+
for (let i = 0; i < layoutItems.length; i++) {
|
|
9352
|
+
if (layoutItems[i].customConfig.width) {
|
|
9353
|
+
const widthObject = layoutItems[i].customConfig.width;
|
|
9354
|
+
const remainingWidthInPixel = availableLayoutWidthInPixel - widthUsedInPixel;
|
|
9355
|
+
if (widthObject.type === LayoutItemConfigPropertyWidthType.Percentage) {
|
|
9356
|
+
if (widthObject.value > 100 || widthObject.value < 0) {
|
|
9357
|
+
widthObject.value = 100;
|
|
9358
|
+
}
|
|
9359
|
+
const percentage = widthObject.value;
|
|
9360
|
+
percentageSoFar += percentage;
|
|
9361
|
+
const paddingRight = this.itemHorizontalSpace;
|
|
9362
|
+
layoutItems[i].paddingRight = paddingRight.toString().concat(this.stylePixel);
|
|
9363
|
+
layoutItems[i].width = percentage + '%';
|
|
9364
|
+
if (percentageSoFar > 100) {
|
|
8669
9365
|
percentageSoFar = 0;
|
|
8670
|
-
|
|
8671
|
-
|
|
8672
|
-
|
|
8673
|
-
|
|
8674
|
-
|
|
8675
|
-
|
|
8676
|
-
|
|
8677
|
-
|
|
9366
|
+
}
|
|
9367
|
+
}
|
|
9368
|
+
else if (widthObject.type === LayoutItemConfigPropertyWidthType.Number) {
|
|
9369
|
+
if (widthObject.value < 0) {
|
|
9370
|
+
widthObject.value =
|
|
9371
|
+
defaultWidthForLayoutItemInPixel <= remainingWidthInPixel ?
|
|
9372
|
+
defaultWidthForLayoutItemInPixel : remainingWidthInPixel;
|
|
9373
|
+
}
|
|
9374
|
+
widthUsedInPixel += widthObject.value;
|
|
9375
|
+
// how to determine if it is the last item in a row?
|
|
9376
|
+
const paddingRight = this.itemHorizontalSpace;
|
|
9377
|
+
widthUsedInPixel += paddingRight;
|
|
9378
|
+
layoutItems[i].paddingRight = paddingRight.toString().concat(this.stylePixel);
|
|
9379
|
+
layoutItems[i].width = widthObject.value + this.stylePixel;
|
|
9380
|
+
}
|
|
9381
|
+
else {
|
|
9382
|
+
Logging.log({
|
|
9383
|
+
level: LogLevel.Debug,
|
|
9384
|
+
message: 'Invalid width',
|
|
9385
|
+
source: 'LayoutComponent.configDrivenCalculationDefault'
|
|
9386
|
+
});
|
|
9387
|
+
}
|
|
9388
|
+
}
|
|
9389
|
+
else {
|
|
9390
|
+
Logging.log({
|
|
9391
|
+
level: LogLevel.Debug,
|
|
9392
|
+
message: 'Invalid width',
|
|
9393
|
+
source: 'LayoutComponent.configDrivenCalculationDefault'
|
|
9394
|
+
});
|
|
9395
|
+
}
|
|
9396
|
+
layoutItems[i].ready();
|
|
9397
|
+
}
|
|
9398
|
+
}
|
|
9399
|
+
/**
|
|
9400
|
+
* It deal with configurations that only has both percentage and number.
|
|
9401
|
+
* Aiming at performance optimization.
|
|
9402
|
+
*
|
|
9403
|
+
* @param layoutItems The layout item object array
|
|
9404
|
+
* @param availableLayoutWidthInPixel available width in pixel horizontally.
|
|
9405
|
+
*/
|
|
9406
|
+
configDrivenCalculationHybrid(layoutItems, availableLayoutWidthInPixel) {
|
|
9407
|
+
const defaultWidthForLayoutItemInPixel = 200;
|
|
9408
|
+
let widthUsedInPixel = 0;
|
|
9409
|
+
for (let i = 0; i < layoutItems.length; i++) {
|
|
9410
|
+
if (layoutItems[i].customConfig.width) {
|
|
9411
|
+
const widthObject = layoutItems[i].customConfig.width;
|
|
9412
|
+
const remainingWidthInPixel = availableLayoutWidthInPixel - widthUsedInPixel;
|
|
9413
|
+
if (widthObject.type === LayoutItemConfigPropertyWidthType.Percentage) {
|
|
9414
|
+
if (widthObject.value > 100 || widthObject.value < 0) {
|
|
9415
|
+
widthObject.value = 100;
|
|
9416
|
+
}
|
|
9417
|
+
// how to determine if it is the last item in a row?
|
|
9418
|
+
const paddingRight = this.itemHorizontalSpace;
|
|
9419
|
+
widthUsedInPixel += paddingRight;
|
|
9420
|
+
layoutItems[i].paddingRight = paddingRight.toString().concat(this.stylePixel);
|
|
9421
|
+
let potentialWidthInPixel = (widthObject.value / 100) * remainingWidthInPixel;
|
|
9422
|
+
if (potentialWidthInPixel === 0) {
|
|
9423
|
+
widthUsedInPixel = 0;
|
|
9424
|
+
widthUsedInPixel += paddingRight;
|
|
9425
|
+
potentialWidthInPixel = (widthObject.value / 100) * (availableLayoutWidthInPixel - widthUsedInPixel);
|
|
8678
9426
|
}
|
|
8679
9427
|
else {
|
|
8680
|
-
|
|
8681
|
-
|
|
8682
|
-
|
|
8683
|
-
|
|
8684
|
-
// put item on next row if it is too big
|
|
8685
|
-
if (percentage > 100) {
|
|
8686
|
-
percentage = 100;
|
|
8687
|
-
}
|
|
8688
|
-
percentageSoFar = 0;
|
|
8689
|
-
columnIndex = 0;
|
|
8690
|
-
layoutItems[i].paddingRight = this.padLastItem ? this.itemHorizontalSpace + 'px' : '0px';
|
|
9428
|
+
if (potentialWidthInPixel >= remainingWidthInPixel) {
|
|
9429
|
+
potentialWidthInPixel = remainingWidthInPixel;
|
|
9430
|
+
// resets the used pixel for a new row.
|
|
9431
|
+
widthUsedInPixel = 0;
|
|
8691
9432
|
}
|
|
8692
9433
|
else {
|
|
8693
|
-
|
|
9434
|
+
widthUsedInPixel += potentialWidthInPixel;
|
|
8694
9435
|
}
|
|
9436
|
+
layoutItems[i].flex = '1 0 0';
|
|
9437
|
+
layoutItems[i].minWidth = defaultWidthForLayoutItemInPixel.toString().concat(this.stylePixel);
|
|
8695
9438
|
}
|
|
8696
|
-
|
|
8697
|
-
|
|
8698
|
-
|
|
8699
|
-
|
|
8700
|
-
|
|
8701
|
-
|
|
8702
|
-
|
|
8703
|
-
layoutItems[i].paddingBottom = 0 + 'px';
|
|
8704
|
-
}
|
|
9439
|
+
layoutItems[i].width = potentialWidthInPixel + this.stylePixel;
|
|
9440
|
+
}
|
|
9441
|
+
else if (widthObject.type === LayoutItemConfigPropertyWidthType.Number) {
|
|
9442
|
+
if (widthObject.value < 0) {
|
|
9443
|
+
widthObject.value =
|
|
9444
|
+
defaultWidthForLayoutItemInPixel <= remainingWidthInPixel ?
|
|
9445
|
+
defaultWidthForLayoutItemInPixel : remainingWidthInPixel;
|
|
8705
9446
|
}
|
|
8706
|
-
|
|
8707
|
-
|
|
9447
|
+
widthUsedInPixel += widthObject.value;
|
|
9448
|
+
// how to determine if it is the last item in a row?
|
|
9449
|
+
const paddingRight = this.itemHorizontalSpace;
|
|
9450
|
+
widthUsedInPixel += paddingRight;
|
|
9451
|
+
layoutItems[i].paddingRight = paddingRight.toString().concat(this.stylePixel);
|
|
9452
|
+
layoutItems[i].width = widthObject.value + this.stylePixel;
|
|
8708
9453
|
}
|
|
8709
|
-
|
|
8710
|
-
|
|
8711
|
-
|
|
9454
|
+
else {
|
|
9455
|
+
Logging.log({
|
|
9456
|
+
level: LogLevel.Debug,
|
|
9457
|
+
message: 'Invalid width',
|
|
9458
|
+
source: 'LayoutComponent.configDrivenCalculationHybrid'
|
|
8712
9459
|
});
|
|
8713
9460
|
}
|
|
8714
9461
|
}
|
|
8715
|
-
|
|
9462
|
+
else {
|
|
9463
|
+
Logging.log({
|
|
9464
|
+
level: LogLevel.Debug,
|
|
9465
|
+
message: 'Invalid width',
|
|
9466
|
+
source: 'LayoutComponent.configDrivenCalculationHybrid'
|
|
9467
|
+
});
|
|
9468
|
+
}
|
|
9469
|
+
layoutItems[i].ready();
|
|
9470
|
+
}
|
|
9471
|
+
}
|
|
9472
|
+
updateCustomConfig(layoutItems) {
|
|
9473
|
+
const widthType = [];
|
|
9474
|
+
for (let i = 0; i < layoutItems.length; i++) {
|
|
9475
|
+
layoutItems[i].customConfig = this.currentLayoutItemConfig[i];
|
|
9476
|
+
if (!widthType.includes(layoutItems[i].customConfig.width.type)) {
|
|
9477
|
+
widthType.push(layoutItems[i].customConfig.width.type);
|
|
9478
|
+
}
|
|
9479
|
+
}
|
|
9480
|
+
if (widthType.length <= 1) {
|
|
9481
|
+
return false;
|
|
9482
|
+
}
|
|
9483
|
+
return true;
|
|
8716
9484
|
}
|
|
8717
9485
|
}
|
|
8718
9486
|
/** @nocollapse */ LayoutComponent.ɵfac = function LayoutComponent_Factory(t) { return new (t || LayoutComponent)(ɵɵdirectiveInject(Injector), ɵɵdirectiveInject(SME_LAYOUT_PROVIDER)); };
|
|
@@ -8723,10 +9491,28 @@ class LayoutComponent extends CoreBaseComponent {
|
|
|
8723
9491
|
let _t;
|
|
8724
9492
|
ɵɵqueryRefresh(_t = ɵɵloadQuery()) && (ctx.layoutItems = _t);
|
|
8725
9493
|
ɵɵqueryRefresh(_t = ɵɵloadQuery()) && (ctx.definitions = _t);
|
|
8726
|
-
} }, inputs: { itemHorizontalSpace: "itemHorizontalSpace", itemVerticalSpace: "itemVerticalSpace", tryToFillWholeRow: "tryToFillWholeRow", definition: "definition", padLastItem: "padLastItem", noExtraRightPaddingOneItemPerRow: "noExtraRightPaddingOneItemPerRow" }, outputs: { layoutChanged: "layoutChanged" }, features: [ɵɵInheritDefinitionFeature], ngContentSelectors: _c1$6, decls: 1, vars: 0, template: function LayoutComponent_Template(rf, ctx) { if (rf & 1) {
|
|
9494
|
+
} }, inputs: { itemHorizontalSpace: "itemHorizontalSpace", itemVerticalSpace: "itemVerticalSpace", tryToFillWholeRow: "tryToFillWholeRow", definition: "definition", padLastItem: "padLastItem", noExtraRightPaddingOneItemPerRow: "noExtraRightPaddingOneItemPerRow", layoutConfig: "layoutConfig" }, outputs: { layoutChanged: "layoutChanged", windowBreakpointChanged: "windowBreakpointChanged" }, features: [ɵɵInheritDefinitionFeature], ngContentSelectors: _c1$6, decls: 1, vars: 0, template: function LayoutComponent_Template(rf, ctx) { if (rf & 1) {
|
|
8727
9495
|
ɵɵprojectionDef(_c0$f);
|
|
8728
9496
|
ɵɵprojection(0);
|
|
8729
9497
|
} }, encapsulation: 2 });
|
|
9498
|
+
__decorate([
|
|
9499
|
+
Debounce$1(),
|
|
9500
|
+
__metadata("design:type", Function),
|
|
9501
|
+
__metadata("design:paramtypes", []),
|
|
9502
|
+
__metadata("design:returntype", void 0)
|
|
9503
|
+
], LayoutComponent.prototype, "refresh", null);
|
|
9504
|
+
__decorate([
|
|
9505
|
+
Debounce$1(),
|
|
9506
|
+
__metadata("design:type", Function),
|
|
9507
|
+
__metadata("design:paramtypes", []),
|
|
9508
|
+
__metadata("design:returntype", void 0)
|
|
9509
|
+
], LayoutComponent.prototype, "deferredOnLayoutChanged", null);
|
|
9510
|
+
__decorate([
|
|
9511
|
+
Yield$1(),
|
|
9512
|
+
__metadata("design:type", Function),
|
|
9513
|
+
__metadata("design:paramtypes", []),
|
|
9514
|
+
__metadata("design:returntype", void 0)
|
|
9515
|
+
], LayoutComponent.prototype, "onWindowBreakpointChanged", null);
|
|
8730
9516
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && ɵsetClassMetadata(LayoutComponent, [{
|
|
8731
9517
|
type: Component,
|
|
8732
9518
|
args: [{
|
|
@@ -8754,9 +9540,13 @@ class LayoutComponent extends CoreBaseComponent {
|
|
|
8754
9540
|
type: Input
|
|
8755
9541
|
}], noExtraRightPaddingOneItemPerRow: [{
|
|
8756
9542
|
type: Input
|
|
9543
|
+
}], layoutConfig: [{
|
|
9544
|
+
type: Input
|
|
8757
9545
|
}], layoutChanged: [{
|
|
8758
9546
|
type: Output
|
|
8759
|
-
}]
|
|
9547
|
+
}], windowBreakpointChanged: [{
|
|
9548
|
+
type: Output
|
|
9549
|
+
}], refresh: [], deferredOnLayoutChanged: [], onWindowBreakpointChanged: [] }); })();
|
|
8760
9550
|
|
|
8761
9551
|
const _c0$g = [[["sme-editable-layout-item"]]];
|
|
8762
9552
|
const _c1$7 = ["sme-editable-layout-item"];
|
|
@@ -24665,376 +25455,6 @@ __decorate([
|
|
|
24665
25455
|
__metadata("design:returntype", void 0)
|
|
24666
25456
|
], DataTableAccessibilityManager.prototype, "focusInTableCell", null);
|
|
24667
25457
|
|
|
24668
|
-
/**
|
|
24669
|
-
* It defines the number of breakpoints that WAC currently support.
|
|
24670
|
-
* add more scenarios when WAC is going to support scenarios like tablet etc.
|
|
24671
|
-
*/
|
|
24672
|
-
var SmeResponsiveWindowBreakpointsValue;
|
|
24673
|
-
(function (SmeResponsiveWindowBreakpointsValue) {
|
|
24674
|
-
SmeResponsiveWindowBreakpointsValue[SmeResponsiveWindowBreakpointsValue["Reflow"] = 399.98] = "Reflow";
|
|
24675
|
-
SmeResponsiveWindowBreakpointsValue[SmeResponsiveWindowBreakpointsValue["PhoneDown"] = 767.98] = "PhoneDown";
|
|
24676
|
-
SmeResponsiveWindowBreakpointsValue[SmeResponsiveWindowBreakpointsValue["PhoneUp"] = Number.MAX_SAFE_INTEGER] = "PhoneUp";
|
|
24677
|
-
})(SmeResponsiveWindowBreakpointsValue || (SmeResponsiveWindowBreakpointsValue = {}));
|
|
24678
|
-
/**
|
|
24679
|
-
* It defines the current supported scenario for window sizes.
|
|
24680
|
-
*/
|
|
24681
|
-
var SmeResponsiveWindowBreakpoints;
|
|
24682
|
-
(function (SmeResponsiveWindowBreakpoints) {
|
|
24683
|
-
SmeResponsiveWindowBreakpoints["Reflow"] = "Reflow";
|
|
24684
|
-
SmeResponsiveWindowBreakpoints["PhoneDown"] = "PhoneDown";
|
|
24685
|
-
SmeResponsiveWindowBreakpoints["PhoneUp"] = "PhoneUp";
|
|
24686
|
-
})(SmeResponsiveWindowBreakpoints || (SmeResponsiveWindowBreakpoints = {}));
|
|
24687
|
-
// tslint:disable-next-line: directive-class-suffix
|
|
24688
|
-
class SmeResponsiveWindowManagerComponent {
|
|
24689
|
-
/**
|
|
24690
|
-
* The manager supports layout component and in the meantime listening to the window size change event.
|
|
24691
|
-
* @param layout the layout component.
|
|
24692
|
-
*/
|
|
24693
|
-
constructor(layout) {
|
|
24694
|
-
this.layout = layout;
|
|
24695
|
-
/**
|
|
24696
|
-
* It defines whether the current window size is for super small window.
|
|
24697
|
-
*/
|
|
24698
|
-
this.internalReflowMode = false;
|
|
24699
|
-
/**
|
|
24700
|
-
* It defines whether the current window size is phone down.
|
|
24701
|
-
*/
|
|
24702
|
-
this.internalPhoneDown = false;
|
|
24703
|
-
/**
|
|
24704
|
-
* It defines whether the current window size is phone up.
|
|
24705
|
-
*/
|
|
24706
|
-
this.internalPhoneUp = false;
|
|
24707
|
-
/**
|
|
24708
|
-
* It defines whether the current solution/tool is using css v2 to support responsive window.
|
|
24709
|
-
*/
|
|
24710
|
-
this.internalCssV2 = false;
|
|
24711
|
-
/**
|
|
24712
|
-
* The array for subscription.
|
|
24713
|
-
*/
|
|
24714
|
-
this.subscriptions = [];
|
|
24715
|
-
this.setIsCssV2Enabled();
|
|
24716
|
-
if (this.layout) {
|
|
24717
|
-
// on parent layout changes, re-emit the layout change to our event
|
|
24718
|
-
this.subscriptions.push(layout.layoutChanged.subscribe((() => this.onLayoutChanged())));
|
|
24719
|
-
// on window break point changes, emit the event about critical classes and styling updates signal.
|
|
24720
|
-
this.subscriptions.push(layout.windowBreakpointChanged.subscribe(() => this.onWindowBreakpointChanged()));
|
|
24721
|
-
this.deferredOnLayoutChanged();
|
|
24722
|
-
}
|
|
24723
|
-
}
|
|
24724
|
-
/**
|
|
24725
|
-
* Gets the current window responsive state.
|
|
24726
|
-
*/
|
|
24727
|
-
get responsiveWindowState() {
|
|
24728
|
-
return this.internalResponsiveWindowMode;
|
|
24729
|
-
}
|
|
24730
|
-
/**
|
|
24731
|
-
* Sets the current window responsive state.
|
|
24732
|
-
*/
|
|
24733
|
-
set responsiveWindowState(input) {
|
|
24734
|
-
var _a;
|
|
24735
|
-
const prevResponsiveWindowState = this.internalResponsiveWindowMode;
|
|
24736
|
-
this.internalResponsiveWindowMode = input;
|
|
24737
|
-
if (prevResponsiveWindowState !== this.internalResponsiveWindowMode) {
|
|
24738
|
-
(_a = this.layout) === null || _a === void 0 ? void 0 : _a.windowBreakpointChanged.emit();
|
|
24739
|
-
}
|
|
24740
|
-
}
|
|
24741
|
-
/**
|
|
24742
|
-
* Gets the value indicating whether css v2 should be used.
|
|
24743
|
-
*/
|
|
24744
|
-
get cssV2() {
|
|
24745
|
-
return this.internalCssV2;
|
|
24746
|
-
}
|
|
24747
|
-
/**
|
|
24748
|
-
* It sets the value for whether the current tool/solution is using css v2 for window responsiveness.
|
|
24749
|
-
*/
|
|
24750
|
-
set cssV2(input) {
|
|
24751
|
-
this.internalCssV2 = !!input;
|
|
24752
|
-
}
|
|
24753
|
-
/**
|
|
24754
|
-
* Gets the phone down mode.
|
|
24755
|
-
*/
|
|
24756
|
-
get phoneDown() {
|
|
24757
|
-
return this.internalPhoneDown;
|
|
24758
|
-
}
|
|
24759
|
-
/**
|
|
24760
|
-
* Sets the phone down mode.
|
|
24761
|
-
*/
|
|
24762
|
-
set phoneDown(input) {
|
|
24763
|
-
this.internalPhoneDown = !!input;
|
|
24764
|
-
}
|
|
24765
|
-
/**
|
|
24766
|
-
* Gets the phone up mode.
|
|
24767
|
-
*/
|
|
24768
|
-
get phoneUp() {
|
|
24769
|
-
return this.internalPhoneUp;
|
|
24770
|
-
}
|
|
24771
|
-
/**
|
|
24772
|
-
* Set the phone up mode.
|
|
24773
|
-
*/
|
|
24774
|
-
set phoneUp(input) {
|
|
24775
|
-
this.internalPhoneUp = !!input;
|
|
24776
|
-
}
|
|
24777
|
-
/**
|
|
24778
|
-
* Gets the reflow mode.
|
|
24779
|
-
*/
|
|
24780
|
-
get reflowMode() {
|
|
24781
|
-
return this.internalReflowMode;
|
|
24782
|
-
}
|
|
24783
|
-
/**
|
|
24784
|
-
* Sets the reflow mode.
|
|
24785
|
-
*/
|
|
24786
|
-
set reflowMode(input) {
|
|
24787
|
-
this.internalReflowMode = !!input;
|
|
24788
|
-
}
|
|
24789
|
-
/**
|
|
24790
|
-
* Gets the width of the window from the window object.
|
|
24791
|
-
* Should only be called on layout or window size change.
|
|
24792
|
-
*/
|
|
24793
|
-
get width() {
|
|
24794
|
-
return window === null || window === void 0 ? void 0 : window.innerWidth;
|
|
24795
|
-
}
|
|
24796
|
-
/**
|
|
24797
|
-
* Gets the height of the window from the window object.
|
|
24798
|
-
* Should only be called on layout or window size change.
|
|
24799
|
-
*/
|
|
24800
|
-
get height() {
|
|
24801
|
-
return window === null || window === void 0 ? void 0 : window.innerHeight;
|
|
24802
|
-
}
|
|
24803
|
-
/**
|
|
24804
|
-
* Gets the last known window responsive data.
|
|
24805
|
-
*/
|
|
24806
|
-
get prevSize() {
|
|
24807
|
-
var _a, _b;
|
|
24808
|
-
if (((_a = this.internalPrevSize) === null || _a === void 0 ? void 0 : _a.width) === this.width && ((_b = this.internalPrevSize) === null || _b === void 0 ? void 0 : _b.height) === this.height) {
|
|
24809
|
-
return this.internalPrevSize;
|
|
24810
|
-
}
|
|
24811
|
-
else {
|
|
24812
|
-
return this.getSmeResponsiveWindowData();
|
|
24813
|
-
}
|
|
24814
|
-
}
|
|
24815
|
-
/**
|
|
24816
|
-
* Gets the window responsive break points.
|
|
24817
|
-
*/
|
|
24818
|
-
get size() {
|
|
24819
|
-
const width = this.width;
|
|
24820
|
-
if (width <= SmeResponsiveWindowBreakpointsValue.Reflow) {
|
|
24821
|
-
this.reflowMode = true;
|
|
24822
|
-
this.phoneDown = false;
|
|
24823
|
-
this.phoneUp = false;
|
|
24824
|
-
this.responsiveWindowState = SmeResponsiveWindowBreakpoints.Reflow;
|
|
24825
|
-
}
|
|
24826
|
-
else if (width <= SmeResponsiveWindowBreakpointsValue.PhoneDown) {
|
|
24827
|
-
this.reflowMode = false;
|
|
24828
|
-
this.phoneDown = true;
|
|
24829
|
-
this.phoneUp = false;
|
|
24830
|
-
this.responsiveWindowState = SmeResponsiveWindowBreakpoints.PhoneDown;
|
|
24831
|
-
}
|
|
24832
|
-
else {
|
|
24833
|
-
this.reflowMode = false;
|
|
24834
|
-
this.phoneDown = false;
|
|
24835
|
-
this.phoneUp = true;
|
|
24836
|
-
this.responsiveWindowState = SmeResponsiveWindowBreakpoints.PhoneUp;
|
|
24837
|
-
}
|
|
24838
|
-
return this.responsiveWindowState;
|
|
24839
|
-
}
|
|
24840
|
-
/**
|
|
24841
|
-
* It sets whether the current solution/tool is using the css v2 for window responsiveness.
|
|
24842
|
-
*/
|
|
24843
|
-
setIsCssV2Enabled() {
|
|
24844
|
-
this.cssV2 = this.isUsingCssV2();
|
|
24845
|
-
}
|
|
24846
|
-
/**
|
|
24847
|
-
* The implementation for checking whether the styles are being set.
|
|
24848
|
-
* @returns true if the current tool/solution is using css v2 for window responsiveness.
|
|
24849
|
-
*/
|
|
24850
|
-
isUsingCssV2() {
|
|
24851
|
-
const head = document.getElementsByTagName('head')[0];
|
|
24852
|
-
const links = head.querySelectorAll('link');
|
|
24853
|
-
let cssV2 = true;
|
|
24854
|
-
// sme shell root would be containing style.css and either main.css or main-v2.css
|
|
24855
|
-
// thus as long as it is not main.css, should be using css-v2
|
|
24856
|
-
for (let i = 0; i < links.length; i++) {
|
|
24857
|
-
const link = links[i];
|
|
24858
|
-
if (link.href && link.href.includes('main.css')) {
|
|
24859
|
-
cssV2 = false;
|
|
24860
|
-
break;
|
|
24861
|
-
}
|
|
24862
|
-
}
|
|
24863
|
-
return cssV2;
|
|
24864
|
-
}
|
|
24865
|
-
/**
|
|
24866
|
-
* The functionality to update the core variables for window responsive data.
|
|
24867
|
-
* @returns The SmeResponsiveWindowData object
|
|
24868
|
-
*/
|
|
24869
|
-
getSmeResponsiveWindowData() {
|
|
24870
|
-
// on window size or layout change, gets the width and height from the window object.
|
|
24871
|
-
const width = this.width;
|
|
24872
|
-
const height = this.height;
|
|
24873
|
-
// based on the window size information, calculates the core paramters.
|
|
24874
|
-
const size = this.size;
|
|
24875
|
-
// the 3 gets above sets these following 3 parameters.
|
|
24876
|
-
const reflowMode = this.reflowMode;
|
|
24877
|
-
const phoneDown = this.phoneDown;
|
|
24878
|
-
const phoneUp = this.phoneUp;
|
|
24879
|
-
// sets the object and return.
|
|
24880
|
-
this.internalPrevSize = {
|
|
24881
|
-
width: width,
|
|
24882
|
-
height: height,
|
|
24883
|
-
size: size,
|
|
24884
|
-
reflowMode: reflowMode,
|
|
24885
|
-
phoneDown: phoneDown,
|
|
24886
|
-
phoneUp: phoneUp
|
|
24887
|
-
};
|
|
24888
|
-
return this.internalPrevSize;
|
|
24889
|
-
}
|
|
24890
|
-
/**
|
|
24891
|
-
* On layout changed event handler, occurs every time the layout has been changed.
|
|
24892
|
-
*/
|
|
24893
|
-
onLayoutChanged() {
|
|
24894
|
-
this.getSmeResponsiveWindowData();
|
|
24895
|
-
}
|
|
24896
|
-
/**
|
|
24897
|
-
* The deferred layout changed handler.
|
|
24898
|
-
*/
|
|
24899
|
-
deferredOnLayoutChanged() {
|
|
24900
|
-
this.onLayoutChanged();
|
|
24901
|
-
}
|
|
24902
|
-
/**
|
|
24903
|
-
* To respond to a layout breakpoint changed event.
|
|
24904
|
-
* @returns void
|
|
24905
|
-
*/
|
|
24906
|
-
onWindowBreakpointChanged() {
|
|
24907
|
-
return;
|
|
24908
|
-
}
|
|
24909
|
-
/**
|
|
24910
|
-
* Gets the parent element by html tag. By default, go up 10 levels for enhanced performance.
|
|
24911
|
-
* @param inputElement The input element.
|
|
24912
|
-
* @returns The targeted html element get by the html tag
|
|
24913
|
-
*/
|
|
24914
|
-
getParentElementByTag(inputElement, parentHtmlTags = ['sme-pivot', 'sme-split-view', 'sme-settings-page'], levelExternal = 10, customKeywords, untilTagName) {
|
|
24915
|
-
if (!inputElement) {
|
|
24916
|
-
return undefined;
|
|
24917
|
-
}
|
|
24918
|
-
let level = levelExternal;
|
|
24919
|
-
let found = false;
|
|
24920
|
-
let parent = inputElement;
|
|
24921
|
-
while (level > 0 && !found) {
|
|
24922
|
-
if (parent) {
|
|
24923
|
-
parent = parent.parentElement;
|
|
24924
|
-
}
|
|
24925
|
-
const parentTagName = parent === null || parent === void 0 ? void 0 : parent.tagName.toLocaleLowerCase();
|
|
24926
|
-
if (untilTagName) {
|
|
24927
|
-
if (parentTagName === untilTagName.toLowerCase()) {
|
|
24928
|
-
return undefined;
|
|
24929
|
-
}
|
|
24930
|
-
}
|
|
24931
|
-
if (parentHtmlTags.includes(parentTagName) || (customKeywords !== undefined && (parentTagName === null || parentTagName === void 0 ? void 0 : parentTagName.includes(customKeywords)))) {
|
|
24932
|
-
found = true;
|
|
24933
|
-
return parent;
|
|
24934
|
-
}
|
|
24935
|
-
level -= 1;
|
|
24936
|
-
}
|
|
24937
|
-
return undefined;
|
|
24938
|
-
}
|
|
24939
|
-
/**
|
|
24940
|
-
* The core algorithm for adding and removing classes based on window size and window size settings.
|
|
24941
|
-
* @param settings the settings object
|
|
24942
|
-
* @param curSettings the current setting
|
|
24943
|
-
* @param element the html element for setting up classes.
|
|
24944
|
-
* @returns void.
|
|
24945
|
-
*/
|
|
24946
|
-
updateClassArrayOnWindowSize(settings, curSettings, element) {
|
|
24947
|
-
if (!settings) {
|
|
24948
|
-
return;
|
|
24949
|
-
}
|
|
24950
|
-
settings = JSON.parse(JSON.stringify(settings));
|
|
24951
|
-
const phoneDown = JSON.parse(JSON.stringify(settings.phoneDown));
|
|
24952
|
-
const phoneUp = JSON.parse(JSON.stringify(settings.phoneUp));
|
|
24953
|
-
const reflow = JSON.parse(JSON.stringify(settings.reflow));
|
|
24954
|
-
let toBeRemovedClassList = [];
|
|
24955
|
-
let toBeAddedClassList = [];
|
|
24956
|
-
switch (curSettings) {
|
|
24957
|
-
case 'phoneUp':
|
|
24958
|
-
toBeAddedClassList = phoneUp;
|
|
24959
|
-
toBeRemovedClassList = phoneDown;
|
|
24960
|
-
toBeRemovedClassList = this.uniqueArray(toBeRemovedClassList, reflow);
|
|
24961
|
-
break;
|
|
24962
|
-
case 'phoneDown':
|
|
24963
|
-
toBeAddedClassList = phoneDown;
|
|
24964
|
-
toBeRemovedClassList = phoneUp;
|
|
24965
|
-
toBeRemovedClassList = this.uniqueArray(toBeRemovedClassList, reflow);
|
|
24966
|
-
break;
|
|
24967
|
-
case 'reflow':
|
|
24968
|
-
toBeAddedClassList = reflow;
|
|
24969
|
-
toBeRemovedClassList = phoneDown;
|
|
24970
|
-
toBeRemovedClassList = this.uniqueArray(toBeRemovedClassList, phoneUp);
|
|
24971
|
-
break;
|
|
24972
|
-
}
|
|
24973
|
-
toBeRemovedClassList = this.removeExistedItem(toBeRemovedClassList, toBeAddedClassList);
|
|
24974
|
-
for (let i = 0; i < toBeRemovedClassList.length; i++) {
|
|
24975
|
-
if (element.classList.contains(toBeRemovedClassList[i])) {
|
|
24976
|
-
element.classList.remove(toBeRemovedClassList[i]);
|
|
24977
|
-
}
|
|
24978
|
-
}
|
|
24979
|
-
for (let i = 0; i < toBeAddedClassList.length; i++) {
|
|
24980
|
-
if (!element.classList.contains(toBeAddedClassList[i])) {
|
|
24981
|
-
element.classList.add(toBeAddedClassList[i]);
|
|
24982
|
-
}
|
|
24983
|
-
}
|
|
24984
|
-
}
|
|
24985
|
-
/**
|
|
24986
|
-
* Merge two arrays with unique items.
|
|
24987
|
-
* @param arrayA the input array A
|
|
24988
|
-
* @param arrayB the input array B
|
|
24989
|
-
* @returns an array that contains unique items from array A and array B
|
|
24990
|
-
*/
|
|
24991
|
-
uniqueArray(arrayA, arrayB) {
|
|
24992
|
-
if (arrayB && arrayB.length) {
|
|
24993
|
-
for (let i = 0; i < arrayB.length; i++) {
|
|
24994
|
-
if (!arrayA.includes(arrayB[i])) {
|
|
24995
|
-
arrayA.push(arrayB[i]);
|
|
24996
|
-
}
|
|
24997
|
-
}
|
|
24998
|
-
}
|
|
24999
|
-
return arrayA;
|
|
25000
|
-
}
|
|
25001
|
-
/**
|
|
25002
|
-
* Guarantees will not remove the classes that needs to be added.
|
|
25003
|
-
* @param toBeRemovedClassList the list of classes that needs to be removed.
|
|
25004
|
-
* @param toBeAddedClassList the list of classes that needs to be added.
|
|
25005
|
-
* @returns the list of classes that needs to be removed and doesn't overlap with the classes that needs to be added.
|
|
25006
|
-
*/
|
|
25007
|
-
removeExistedItem(toBeRemovedClassList, toBeAddedClassList) {
|
|
25008
|
-
if (!toBeAddedClassList || !toBeAddedClassList.length) {
|
|
25009
|
-
return toBeRemovedClassList;
|
|
25010
|
-
}
|
|
25011
|
-
if (!toBeRemovedClassList || !toBeRemovedClassList.length) {
|
|
25012
|
-
return [];
|
|
25013
|
-
}
|
|
25014
|
-
const res = [];
|
|
25015
|
-
for (let i = 0; i < toBeRemovedClassList.length; i++) {
|
|
25016
|
-
if (!toBeAddedClassList.includes(toBeRemovedClassList[i])) {
|
|
25017
|
-
res.push(toBeRemovedClassList[i]);
|
|
25018
|
-
}
|
|
25019
|
-
}
|
|
25020
|
-
return res;
|
|
25021
|
-
}
|
|
25022
|
-
}
|
|
25023
|
-
/** @nocollapse */ SmeResponsiveWindowManagerComponent.ɵfac = function SmeResponsiveWindowManagerComponent_Factory(t) { return new (t || SmeResponsiveWindowManagerComponent)(ɵɵdirectiveInject(SME_LAYOUT_PROVIDER)); };
|
|
25024
|
-
/** @nocollapse */ SmeResponsiveWindowManagerComponent.ɵdir = ɵɵdefineDirective({ type: SmeResponsiveWindowManagerComponent });
|
|
25025
|
-
__decorate([
|
|
25026
|
-
Debounce$1(),
|
|
25027
|
-
__metadata("design:type", Function),
|
|
25028
|
-
__metadata("design:paramtypes", []),
|
|
25029
|
-
__metadata("design:returntype", void 0)
|
|
25030
|
-
], SmeResponsiveWindowManagerComponent.prototype, "deferredOnLayoutChanged", null);
|
|
25031
|
-
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && ɵsetClassMetadata(SmeResponsiveWindowManagerComponent, [{
|
|
25032
|
-
type: Directive
|
|
25033
|
-
}], function () { return [{ type: undefined, decorators: [{
|
|
25034
|
-
type: Inject,
|
|
25035
|
-
args: [SME_LAYOUT_PROVIDER]
|
|
25036
|
-
}] }]; }, { deferredOnLayoutChanged: [] }); })();
|
|
25037
|
-
|
|
25038
25458
|
class DataTableResponsiveWindowManager extends SmeResponsiveWindowManagerComponent {
|
|
25039
25459
|
constructor() {
|
|
25040
25460
|
super(...arguments);
|
|
@@ -38871,45 +39291,80 @@ class DialogModule {
|
|
|
38871
39291
|
ConfirmationListDialogComponent], []);
|
|
38872
39292
|
ɵɵsetComponentScope(DialogComponent, [NgIf, BackdropComponent, NgClass, TooltipDirective], []);
|
|
38873
39293
|
|
|
39294
|
+
function HeaderComponent_div_0_span_2_Template(rf, ctx) { if (rf & 1) {
|
|
39295
|
+
ɵɵelement(0, "span", 11);
|
|
39296
|
+
} if (rf & 2) {
|
|
39297
|
+
const ctx_r5 = ɵɵnextContext(2);
|
|
39298
|
+
ɵɵclassMap(ctx_r5.smeIconClassName ? ctx_r5.smeIconClassName : "");
|
|
39299
|
+
} }
|
|
39300
|
+
function HeaderComponent_div_0_span_3_Template(rf, ctx) { if (rf & 1) {
|
|
39301
|
+
ɵɵelement(0, "span", 12);
|
|
39302
|
+
} if (rf & 2) {
|
|
39303
|
+
const ctx_r6 = ɵɵnextContext(2);
|
|
39304
|
+
ɵɵstyleProp("background-image", ctx_r6.urlIcon);
|
|
39305
|
+
} }
|
|
39306
|
+
function HeaderComponent_div_0_ng_container_6_Template(rf, ctx) { if (rf & 1) {
|
|
39307
|
+
ɵɵelementContainer(0);
|
|
39308
|
+
} }
|
|
38874
39309
|
function HeaderComponent_div_0_Template(rf, ctx) { if (rf & 1) {
|
|
38875
|
-
ɵɵelementStart(0, "div",
|
|
38876
|
-
ɵɵelementStart(1, "
|
|
38877
|
-
|
|
39310
|
+
ɵɵelementStart(0, "div", 5);
|
|
39311
|
+
ɵɵelementStart(1, "span", 6);
|
|
39312
|
+
ɵɵtemplate(2, HeaderComponent_div_0_span_2_Template, 1, 2, "span", 7);
|
|
39313
|
+
ɵɵtemplate(3, HeaderComponent_div_0_span_3_Template, 1, 2, "span", 8);
|
|
39314
|
+
ɵɵelementStart(4, "span", 9);
|
|
39315
|
+
ɵɵtext(5);
|
|
39316
|
+
ɵɵelementEnd();
|
|
38878
39317
|
ɵɵelementEnd();
|
|
38879
|
-
|
|
39318
|
+
ɵɵtemplate(6, HeaderComponent_div_0_ng_container_6_Template, 1, 0, "ng-container", 10);
|
|
38880
39319
|
ɵɵelementEnd();
|
|
38881
39320
|
} if (rf & 2) {
|
|
38882
39321
|
const ctx_r0 = ɵɵnextContext();
|
|
39322
|
+
const _r3 = ɵɵreference(4);
|
|
38883
39323
|
ɵɵadvance(1);
|
|
38884
39324
|
ɵɵproperty("ngClass", ctx_r0.level === "" ? "sme-font-h3" : ctx_r0.styleTo);
|
|
38885
39325
|
ɵɵadvance(1);
|
|
39326
|
+
ɵɵproperty("ngIf", ctx_r0.smeIconClassName);
|
|
39327
|
+
ɵɵadvance(1);
|
|
39328
|
+
ɵɵproperty("ngIf", ctx_r0.urlIcon);
|
|
39329
|
+
ɵɵadvance(2);
|
|
38886
39330
|
ɵɵtextInterpolate(ctx_r0.text);
|
|
39331
|
+
ɵɵadvance(1);
|
|
39332
|
+
ɵɵproperty("ngTemplateOutlet", _r3);
|
|
38887
39333
|
} }
|
|
38888
39334
|
function HeaderComponent_h2_1_Template(rf, ctx) { if (rf & 1) {
|
|
38889
|
-
ɵɵelementStart(0, "h2",
|
|
39335
|
+
ɵɵelementStart(0, "h2", 13);
|
|
38890
39336
|
ɵɵtext(1);
|
|
38891
39337
|
ɵɵelementEnd();
|
|
38892
39338
|
} if (rf & 2) {
|
|
38893
39339
|
const ctx_r1 = ɵɵnextContext();
|
|
38894
39340
|
ɵɵproperty("ngClass", ctx_r1.level === "" ? "sme-font-h3" : ctx_r1.styleTo);
|
|
38895
39341
|
ɵɵadvance(1);
|
|
38896
|
-
ɵɵtextInterpolate1(" ", ctx_r1.text, "
|
|
39342
|
+
ɵɵtextInterpolate1(" ", ctx_r1.text, "\n");
|
|
39343
|
+
} }
|
|
39344
|
+
function HeaderComponent_div_2_ng_container_3_Template(rf, ctx) { if (rf & 1) {
|
|
39345
|
+
ɵɵelementContainer(0);
|
|
38897
39346
|
} }
|
|
38898
39347
|
function HeaderComponent_div_2_Template(rf, ctx) { if (rf & 1) {
|
|
38899
|
-
ɵɵelementStart(0, "div",
|
|
38900
|
-
ɵɵelementStart(1, "h3",
|
|
39348
|
+
ɵɵelementStart(0, "div", 14);
|
|
39349
|
+
ɵɵelementStart(1, "h3", 6);
|
|
38901
39350
|
ɵɵtext(2);
|
|
38902
39351
|
ɵɵelementEnd();
|
|
38903
|
-
|
|
39352
|
+
ɵɵtemplate(3, HeaderComponent_div_2_ng_container_3_Template, 1, 0, "ng-container", 10);
|
|
38904
39353
|
ɵɵelementEnd();
|
|
38905
39354
|
} if (rf & 2) {
|
|
38906
39355
|
const ctx_r2 = ɵɵnextContext();
|
|
39356
|
+
const _r3 = ɵɵreference(4);
|
|
38907
39357
|
ɵɵadvance(1);
|
|
38908
39358
|
ɵɵproperty("ngClass", ctx_r2.level !== "" ? ctx_r2.styleTo : "");
|
|
38909
39359
|
ɵɵadvance(1);
|
|
38910
39360
|
ɵɵtextInterpolate(ctx_r2.text);
|
|
39361
|
+
ɵɵadvance(1);
|
|
39362
|
+
ɵɵproperty("ngTemplateOutlet", _r3);
|
|
39363
|
+
} }
|
|
39364
|
+
function HeaderComponent_ng_template_3_Template(rf, ctx) { if (rf & 1) {
|
|
39365
|
+
ɵɵprojection(0);
|
|
38911
39366
|
} }
|
|
38912
|
-
const _c0$1d = ["*"
|
|
39367
|
+
const _c0$1d = ["*"];
|
|
38913
39368
|
/**
|
|
38914
39369
|
*
|
|
38915
39370
|
* @smeDoc {@label Header @id sme-header}
|
|
@@ -38922,12 +39377,26 @@ const _c0$1d = ["*", "*"];
|
|
|
38922
39377
|
* @file {@filename component.html @filepath ./examples/header-example.component.html}
|
|
38923
39378
|
*
|
|
38924
39379
|
*/
|
|
38925
|
-
class HeaderComponent {
|
|
38926
|
-
constructor() {
|
|
39380
|
+
class HeaderComponent extends CoreBaseComponent {
|
|
39381
|
+
constructor(injector) {
|
|
39382
|
+
super(injector);
|
|
38927
39383
|
this.styleTo = '';
|
|
38928
39384
|
this.type = HeaderComponent.tool;
|
|
38929
39385
|
this.text = '';
|
|
38930
39386
|
this.level = '';
|
|
39387
|
+
if (this.smeIconClassName && this.urlIcon) {
|
|
39388
|
+
Logging.log({
|
|
39389
|
+
level: LogLevel.Warning,
|
|
39390
|
+
message: 'Either sme icon or url icon is accepted.',
|
|
39391
|
+
source: `${this.logSourceName}.constructor`
|
|
39392
|
+
});
|
|
39393
|
+
}
|
|
39394
|
+
}
|
|
39395
|
+
/**
|
|
39396
|
+
* The source name to use for logging
|
|
39397
|
+
*/
|
|
39398
|
+
get logSourceName() {
|
|
39399
|
+
return 'HeaderComponent';
|
|
38931
39400
|
}
|
|
38932
39401
|
/**
|
|
38933
39402
|
* The method run when the component is initialized
|
|
@@ -38950,14 +39419,6 @@ class HeaderComponent {
|
|
|
38950
39419
|
this.styleTo = HeaderComponent.h4style;
|
|
38951
39420
|
break;
|
|
38952
39421
|
}
|
|
38953
|
-
case '5': {
|
|
38954
|
-
this.styleTo = HeaderComponent.h5style;
|
|
38955
|
-
break;
|
|
38956
|
-
}
|
|
38957
|
-
case '6': {
|
|
38958
|
-
this.styleTo = HeaderComponent.h6style;
|
|
38959
|
-
break;
|
|
38960
|
-
}
|
|
38961
39422
|
default: {
|
|
38962
39423
|
this.styleTo = '';
|
|
38963
39424
|
}
|
|
@@ -38968,34 +39429,37 @@ HeaderComponent.tool = 'tool-header'; // default
|
|
|
38968
39429
|
HeaderComponent.h1style = 'sme-font-h1';
|
|
38969
39430
|
HeaderComponent.h2style = 'sme-font-h2';
|
|
38970
39431
|
HeaderComponent.h3style = 'sme-font-h3';
|
|
38971
|
-
HeaderComponent.h4style = 'sme-font-h4';
|
|
38972
|
-
HeaderComponent
|
|
38973
|
-
HeaderComponent
|
|
38974
|
-
|
|
38975
|
-
|
|
38976
|
-
ɵɵprojectionDef(_c0$1d);
|
|
38977
|
-
ɵɵtemplate(0, HeaderComponent_div_0_Template, 4, 2, "div", 0);
|
|
39432
|
+
HeaderComponent.h4style = 'sme-font-h4 sme-font-h4-no-spacing';
|
|
39433
|
+
/** @nocollapse */ HeaderComponent.ɵfac = function HeaderComponent_Factory(t) { return new (t || HeaderComponent)(ɵɵdirectiveInject(Injector)); };
|
|
39434
|
+
/** @nocollapse */ HeaderComponent.ɵcmp = ɵɵdefineComponent({ type: HeaderComponent, selectors: [["sme-header"]], inputs: { type: "type", text: "text", level: "level", smeIconClassName: "smeIconClassName", urlIcon: "urlIcon" }, features: [ɵɵInheritDefinitionFeature], ngContentSelectors: _c0$1d, decls: 5, vars: 3, consts: [["class", "sme-layout-flex sme-position-flex-align-center sme-layout-tool-header", 4, "ngIf"], ["id", "sme-dialog-title", 3, "ngClass", 4, "ngIf"], ["class", "sme-position-flex-none sme-layout-settings-header", 4, "ngIf"], ["class", "sme-padding-left-xs"], ["contentTemplate", ""], [1, "sme-layout-flex", "sme-position-flex-align-center", "sme-layout-tool-header"], [3, "ngClass"], ["class", "sme-position-align-v-inline-middle sme-icon", 3, "class", 4, "ngIf"], ["class", "sme-position-align-v-inline-middle sme-url-icon", 3, "background-image", 4, "ngIf"], [1, "sme-position-align-v-inline-middle"], [4, "ngTemplateOutlet"], [1, "sme-position-align-v-inline-middle", "sme-icon"], [1, "sme-position-align-v-inline-middle", "sme-url-icon"], ["id", "sme-dialog-title", 3, "ngClass"], [1, "sme-position-flex-none", "sme-layout-settings-header"]], template: function HeaderComponent_Template(rf, ctx) { if (rf & 1) {
|
|
39435
|
+
ɵɵprojectionDef();
|
|
39436
|
+
ɵɵtemplate(0, HeaderComponent_div_0_Template, 7, 5, "div", 0);
|
|
38978
39437
|
ɵɵtemplate(1, HeaderComponent_h2_1_Template, 2, 2, "h2", 1);
|
|
38979
|
-
ɵɵtemplate(2, HeaderComponent_div_2_Template, 4,
|
|
39438
|
+
ɵɵtemplate(2, HeaderComponent_div_2_Template, 4, 3, "div", 2);
|
|
39439
|
+
ɵɵtemplate(3, HeaderComponent_ng_template_3_Template, 1, 0, "ng-template", 3, 4, ɵɵtemplateRefExtractor);
|
|
38980
39440
|
} if (rf & 2) {
|
|
38981
39441
|
ɵɵproperty("ngIf", ctx.type === "tool-header");
|
|
38982
39442
|
ɵɵadvance(1);
|
|
38983
39443
|
ɵɵproperty("ngIf", ctx.type === "dialog-header");
|
|
38984
39444
|
ɵɵadvance(1);
|
|
38985
39445
|
ɵɵproperty("ngIf", ctx.type === "settings-page-header");
|
|
38986
|
-
} }, directives: [NgIf, NgClass], encapsulation: 2 });
|
|
39446
|
+
} }, directives: [NgIf, NgClass, NgTemplateOutlet], encapsulation: 2 });
|
|
38987
39447
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && ɵsetClassMetadata(HeaderComponent, [{
|
|
38988
39448
|
type: Component,
|
|
38989
39449
|
args: [{
|
|
38990
39450
|
selector: 'sme-header',
|
|
38991
39451
|
templateUrl: './header.component.html'
|
|
38992
39452
|
}]
|
|
38993
|
-
}],
|
|
39453
|
+
}], function () { return [{ type: Injector }]; }, { type: [{
|
|
38994
39454
|
type: Input
|
|
38995
39455
|
}], text: [{
|
|
38996
39456
|
type: Input
|
|
38997
39457
|
}], level: [{
|
|
38998
39458
|
type: Input
|
|
39459
|
+
}], smeIconClassName: [{
|
|
39460
|
+
type: Input
|
|
39461
|
+
}], urlIcon: [{
|
|
39462
|
+
type: Input
|
|
38999
39463
|
}] }); })();
|
|
39000
39464
|
|
|
39001
39465
|
class HeaderModule {
|
|
@@ -42602,6 +43066,10 @@ class PropertyGridComponent extends CoreBaseComponent {
|
|
|
42602
43066
|
* Implementation of the Layout interface
|
|
42603
43067
|
*/
|
|
42604
43068
|
this.layoutChanged = new EventEmitter();
|
|
43069
|
+
/**
|
|
43070
|
+
* Implementation of the Layout interface
|
|
43071
|
+
*/
|
|
43072
|
+
this.windowBreakpointChanged = new EventEmitter();
|
|
42605
43073
|
this.propertyGridResponsiveWindowManager = new PropertyGridResponsiveWindowManager();
|
|
42606
43074
|
// old style supported sme-property-grid-arrange-vertical class. default to vertical orientation if this class is applied.
|
|
42607
43075
|
const hasVerticalClass = this.hostElement.nativeElement.classList.contains('sme-property-grid-arrange-vertical');
|
|
@@ -42718,7 +43186,7 @@ class PropertyGridComponent extends CoreBaseComponent {
|
|
|
42718
43186
|
ɵɵqueryRefresh(_t = ɵɵloadQuery()) && (ctx.actionLinkTemplate = _t.first);
|
|
42719
43187
|
ɵɵqueryRefresh(_t = ɵɵloadQuery()) && (ctx.internalLinkTemplate = _t.first);
|
|
42720
43188
|
ɵɵqueryRefresh(_t = ɵɵloadQuery()) && (ctx.externalLinkTemplate = _t.first);
|
|
42721
|
-
} }, inputs: { orientation: "orientation" }, outputs: { layoutChanged: "layoutChanged" }, features: [ɵɵProvidersFeature([
|
|
43189
|
+
} }, inputs: { orientation: "orientation" }, outputs: { layoutChanged: "layoutChanged", windowBreakpointChanged: "windowBreakpointChanged" }, features: [ɵɵProvidersFeature([
|
|
42722
43190
|
{ provide: SME_LAYOUT_PROVIDER, useExisting: forwardRef((() => PropertyGridComponent)) }
|
|
42723
43191
|
]), ɵɵInheritDefinitionFeature, ɵɵNgOnChangesFeature], decls: 16, vars: 6, consts: [[1, "sme-position-inset-none", "sme-position-stretch-h", 3, "padLastItem"], ["layout", ""], ["name", "narrow", 3, "until", "columns"], ["name", "medium", 3, "until", "columns", 4, "ngIf"], ["name", "wide", 3, "columns", 4, "ngIf"], [3, "columnSpan", "maxWidth", 4, "ngFor", "ngForOf"], ["readonlyTemplate", ""], ["actionLinkTemplate", ""], ["internalLinkTemplate", ""], ["externalLinkTemplate", ""], ["iconTemplate", ""], ["name", "medium", 3, "until", "columns"], ["name", "wide", 3, "columns"], [3, "columnSpan", "maxWidth"], ["tabindex", "0", "aria-live", "polite", "aria-atomic", "true", "smeTooltipZone", "", 1, "sme-property-grid-item"], ["zone", "smeTooltipZone"], [1, "sme-arrange-stack-h"], ["class", "sme-position-flex-none sme-icon sme-icon-info sme-info-bubble sme-margin-left-xs", "aria-hidden", "true", 3, "title", "tooltipZone", 4, "ngIf"], [1, "sme-screen-reader"], [4, "ngTemplateOutlet", "ngTemplateOutletContext"], ["aria-hidden", "true", 1, "sme-position-flex-none", "sme-icon", "sme-icon-info", "sme-info-bubble", "sme-margin-left-xs", 3, "title", "tooltipZone"], ["size", "extra-small", 3, "inline", "isBackgroundTransparent", 4, "ngIf"], [4, "ngIf"], ["size", "extra-small", 3, "inline", "isBackgroundTransparent"], [1, "read-only-template"], ["class", "sme-padding-right-xs", 4, "ngIf"], ["tabindex", "0", "role", "link", 1, "sme-link", "sme-focus-zone", "action-link-template", 3, "click"], [1, "sme-padding-right-xs"], ["role", "link", 1, "sme-link", "sme-focus-zone", 3, "routerLink"], ["role", "link", "target", "_blank", 1, "sme-link", "sme-focus-zone", 3, "href"], [1, "sme-icon", "sme-icon-openInNewWindow", "sme-margin-left-xs"], [3, "class", 4, "ngIf"], ["class", "sme-layout-inline-block sme-margin-right-xs ", "size", "16px", 3, "status", 4, "ngIf"], ["size", "16px", 1, "sme-layout-inline-block", "sme-margin-right-xs", 3, "status"]], template: function PropertyGridComponent_Template(rf, ctx) { if (rf & 1) {
|
|
42724
43192
|
ɵɵelementStart(0, "sme-layout", 0, 1);
|
|
@@ -42778,6 +43246,8 @@ class PropertyGridComponent extends CoreBaseComponent {
|
|
|
42778
43246
|
type: Input
|
|
42779
43247
|
}], layoutChanged: [{
|
|
42780
43248
|
type: Output
|
|
43249
|
+
}], windowBreakpointChanged: [{
|
|
43250
|
+
type: Output
|
|
42781
43251
|
}] }); })();
|
|
42782
43252
|
|
|
42783
43253
|
class PropertyGridModule {
|
|
@@ -46987,6 +47457,10 @@ class SettingsComponent extends CoreBaseComponent {
|
|
|
46987
47457
|
* Separator used in sticky header on top of Settings page
|
|
46988
47458
|
*/
|
|
46989
47459
|
this.headerSeparator = '|';
|
|
47460
|
+
/**
|
|
47461
|
+
* The generator for layout config.
|
|
47462
|
+
*/
|
|
47463
|
+
this.layoutConfigGenerator = new LayoutConfigGenerator();
|
|
46990
47464
|
this.autoFocus = true;
|
|
46991
47465
|
}
|
|
46992
47466
|
/**
|
|
@@ -47007,6 +47481,7 @@ class SettingsComponent extends CoreBaseComponent {
|
|
|
47007
47481
|
this.autoFocus = true;
|
|
47008
47482
|
}), this.settingsForms.formRemoved().subscribe((form) => { MsftSme.remove(this.allForms, form); }));
|
|
47009
47483
|
this.fullSettingsTitle = this.settingsTitle;
|
|
47484
|
+
this.currentLayoutConfig = this.layoutConfigGenerator.initialize([300, '100']);
|
|
47010
47485
|
}
|
|
47011
47486
|
ngOnDestroy() {
|
|
47012
47487
|
super.ngOnDestroy();
|
|
@@ -47065,7 +47540,7 @@ class SettingsComponent extends CoreBaseComponent {
|
|
|
47065
47540
|
}
|
|
47066
47541
|
}
|
|
47067
47542
|
/** @nocollapse */ SettingsComponent.ɵfac = function SettingsComponent_Factory(t) { return new (t || SettingsComponent)(ɵɵdirectiveInject(Injector)); };
|
|
47068
|
-
/** @nocollapse */ SettingsComponent.ɵcmp = ɵɵdefineComponent({ type: SettingsComponent, selectors: [["sme-settings"]], inputs: { addPadding: "addPadding", backRoute: "backRoute", settingsTitle: "settingsTitle", selectedSettingsTitle: "selectedSettingsTitle" }, features: [ɵɵInheritDefinitionFeature], ngContentSelectors: _c1$Q, decls: 12, vars:
|
|
47543
|
+
/** @nocollapse */ SettingsComponent.ɵcmp = ɵɵdefineComponent({ type: SettingsComponent, selectors: [["sme-settings"]], inputs: { addPadding: "addPadding", backRoute: "backRoute", settingsTitle: "settingsTitle", selectedSettingsTitle: "selectedSettingsTitle" }, features: [ɵɵInheritDefinitionFeature], ngContentSelectors: _c1$Q, decls: 12, vars: 10, consts: [[1, "sme-arrange-stack-v", "sme-layout-relative", "sme-arrange-overflow-auto-y-phone-up", "sme-position-stretch"], ["class", "sme-layout-tool-header sme-position-flex-none sme-arrange-ellipsis sme-padding-bottom-none sme-padding-left-md", 4, "ngIf"], [1, "sme-position-flex-auto", "sme-arrange-overflow-auto", 3, "padLastItem", "layoutConfig", "itemHorizontalSpace"], ["layout", ""], ["name", "narrow", 3, "until", "columns"], ["name", "wide", 3, "columns"], [3, "columnSpan", "ngClass"], [1, "sme-position-stretch", "sme-padding-left-xl", "sme-padding-top-xs", 3, "columnSpan"], [1, "sme-layout-tool-header", "sme-position-flex-none", "sme-arrange-ellipsis", "sme-padding-bottom-none", "sme-padding-left-md"], [1, "sme-font-h3", "sme-arrange-ellipsis", "sme-position-stretch-h", 3, "title"], ["class", "sme-padding-horizontal-sm sme-font-family-normal", 4, "ngIf"], ["class", "sme-font-family-normal", 4, "ngIf"], [1, "sme-padding-horizontal-sm", "sme-font-family-normal"], [1, "sme-font-family-normal"]], template: function SettingsComponent_Template(rf, ctx) { if (rf & 1) {
|
|
47069
47544
|
ɵɵprojectionDef(_c0$1u);
|
|
47070
47545
|
ɵɵelementStart(0, "div", 0);
|
|
47071
47546
|
ɵɵtemplate(1, SettingsComponent_div_1_Template, 5, 5, "div", 1);
|
|
@@ -47087,7 +47562,7 @@ class SettingsComponent extends CoreBaseComponent {
|
|
|
47087
47562
|
ɵɵadvance(1);
|
|
47088
47563
|
ɵɵproperty("ngIf", ctx.settingsTitle);
|
|
47089
47564
|
ɵɵadvance(1);
|
|
47090
|
-
ɵɵproperty("padLastItem", false);
|
|
47565
|
+
ɵɵproperty("padLastItem", false)("layoutConfig", ctx.currentLayoutConfig)("itemHorizontalSpace", 36);
|
|
47091
47566
|
ɵɵadvance(2);
|
|
47092
47567
|
ɵɵproperty("until", 768)("columns", 1);
|
|
47093
47568
|
ɵɵadvance(1);
|
|
@@ -51970,5 +52445,5 @@ function getFullRouteParams(route) {
|
|
|
51970
52445
|
* Generated bundle index. Do not edit.
|
|
51971
52446
|
*/
|
|
51972
52447
|
|
|
51973
|
-
export { AccordionComponent, AccordionModule, AccordionPanelComponent, ActionBarComponent, ActionBarDirective, ActionButton, ActionButtonAsync, ActionButtonAsyncComponent, ActionButtonComponent, ActionButtonRendererComponent, ActionContainerComponent, ActionDropdown, ActionDropdownComponent, ActionDropdownRendererComponent, ActionItem, ActionItemComponent, ActionItemRendererComponent, ActionItemSeparator, ActionItemSeparatorComponent, ActionItemSeparatorRendererComponent, ActionMenuComponent, ActionsModule, ActiveConnectionService, ActiveDirectoryModule, ActiveDirectorySearchFormFieldComponent, ActiveDirectoryService, AlertBarComponent, AlertBarModule, AlertBarService, AlertSeverity, AppContextService, AppErrorHandler, ApplyMode, AriaLiveOptions, ArrayFormFieldComponent, ArrayFormFieldLoaderComponent, ArrayPropertySchemaFieldLoaderComponent, AuthorizationService, AutofocusDirective, AutofocusModule, AzureManagerService, BackdropComponent, BackdropModule, BackgroundExtensionRootComponent, BadgeBaseComponent, BadgeFeatureTypes, BadgeModule, BannerComponent, BannerModule, BaseComponent, BaseDialogComponent, BaseFormData, BasePropertiesForm, BasicFormLoaderComponent, BatchService, BooleanConverterPipe, BooleanConverterPipeModule, BreadcrumbComponent, BreadcrumbHeaderComponent, BreadcrumbHeaderModule, BreadcrumbModule, BreadcrumbSeparator, BugFixesFeatureBadgeComponent, ByteUnitConverterPipe, ByteUnitConverterPipeModule, CAPSLOCK_VALIDATOR, CalendarFormFieldComponent, CanDeactivateGuard, CapacityBarChartComponent, CapacityBase, CapacityDoughnutChartComponent, CapsLockValidatorDirective, ChartComponent, ChartModule, CheckboxFormFieldComponent, CheckboxFormFieldLoaderComponent, ChecklistFormFieldComponent, ChecklistFormFieldLoaderComponent, ChoiceDialogComponent, CimService, CimStreamService, ClampDirective, ClampModule, ClockFormFieldComponent, CodeFormFieldComponent, CodeFormFieldLoaderComponent, ColumnPickerService, ComboboxFormFieldComponent, ComboboxFormFieldLoaderComponent, ComingSoonBadgeComponent, CommonDialogsComponent, CommonSettingsComponent, CommonSettingsComponentBase, ConfirmationDialogComponent, ConfirmationListDialogComponent, ConnectionService, ConnectivityEnforcer, ConnectivityLevel, ContextDropdownComponent, ContextMenuComponent, ContextMenuDirective, ContextMenuModule, CoreServiceModule, CredSSPEnabledBadgeComponent, CredSSPManagerService, CriticalBadgeComponent, CustomBadgeComponent, DataOnlyFormFieldLoaderComponent, DataTableColumnComponent, DataTableColumnPickerExtension, DataTableComponent, DataTableModule, DataTableMultipleSelectMode, DataTableRenderedItemType, DataTableSortMode, DateConverterPipe, DateConverterPipeModule, DateFormFieldComponent, DateTimeFormFieldComponent, DateTimeRangeFormFieldComponent, DateTimeRangeOptionComponent, Debounce, DeleteColumnComponent, Deprecated, DetailsComponent, DetailsModule, DevGuardService, DialogChangeEvent, DialogCloseReason, DialogComponent, DialogContentComponent, DialogFooterComponent, DialogHeaderComponent, DialogMode, DialogModule, DialogService, DisabledChangedEvent, DisabledDirective, DisabledModule, DiscardDirective, DiscardModule, DocumentationComponent, DocumentationModule, DoughnutChartComponent, DoughnutChartModule, DropdownComponent, DropdownModule, DropdownService, DynamicActionItemComponent, DynamicComponentBase, EditableCollectionItem, EditableLayoutComponent, EditableLayoutItemComponent, ElectronService, EnumConverterPipe, EnumConverterPipeModule, ExperimentGuardService, ExtensionBrokerService, ExtensionDialogComponent, ExtensionRootModule, FeedbackBadgeComponent, FieldsetDirective, FileFormFieldComponent, FileFormFieldLoaderComponent, FileTransferService, FilterPipe, FilterPipeModule, FormAsyncValidatorBase, FormField, FormFieldAccessor, FormFieldAccessorDirective, FormFieldAsyncValidatorDirective, FormFieldComponent, FormFieldIsolatorComponent, FormFieldLayoutComponent, FormFieldOptionComponent, FormFieldOptionSubFormTemplateLoaderComponent, FormFieldOrientation, FormFieldTemplateDirective, FormFieldValidatorDirective, FormValidatorBase, FormWizardStepComponent, FormatPipe, FormatPipeModule, FrameService, GatewayService, GuardsModule, GuidedPaneComponent, GuidedPanelComponent, GuidedPanelModule, HeaderComponent, HeaderModule, HealthAlertSeverity, HighlightPipe, HighlightPipeModule, HorizontalBarChartComponent, HorizontalBarChartModule, HttpService, IconLayerComponent, IconModule, IdleComponent, IdleModule, ImprovementFeatureBadgeComponent, InputValidatorDirective, InstallationTypeGuardService, JobsService, JsonFormFieldComponent, JsonFormFieldLoaderComponent, LayeredIconComponent, LayoutComponent, LayoutDefinitionComponent, LayoutItemComponent, LayoutModule, LegendComponent, LegendEntryComponent, LegendModule, LifetimeService, LineChartComponent, LineChartModule, LineChartType, ListFormFieldComponent, LoadingWheelComponent, LoadingWheelModule, LoadingWheelSize, LocalDateConverterPipe, MachineNameValidatorDirective, MarkdownDirective, MarkdownModule, MasterViewComponent, MasterViewModule, MatchFieldValidatorDirective, MediaConversion2, MessageDialogComponent, Monaco, Navigation, NavigationService, NavigationTitle, NewBadgeComponent, NewFeatureBadgeComponent, NodeCredentialsFormComponent, NodeCredentialsFormModule, NodeService, NotificationService, NumberFormFieldComponent, NumberFormFieldLoaderComponent, ObjectDefaultFormFieldLoaderComponent, ObjectPropertySchemaFieldLoaderComponent, OptionsFormFieldComponent, OrderedListFormFieldComponent, OrderedListFormFieldLoaderComponent, PageAlertBarComponent, PageAlertBarModule, PanelControlComponent, PasswordFormFieldComponent, PasswordFormFieldLoaderComponent, PivotComponent, PivotModule, PivotTabComponent, PivotTabType, PowerShellService, PowerShellStreamService, PreviewBadgeComponent, PropertyGridComponent, PropertyGridItemComponent, PropertyGridModule, QueryDataItemPresetGenerator, QueryDataItemValueType, QueryDataOperand, QueryEditorComponent, QueryEditorModule, RadioGroupFormFieldComponent, RadioGroupFormFieldLoaderComponent, RatingRadioGroupFormFieldComponent, ReactiveForm, ReactiveFormAccessor, ReactiveFormWizardStepComponent, ReadonlyFormFieldComponent, RequiredTrimmedValidatorDirective, ResizerComponent, ResizerModule, ResourceService, RpcService, RpcShellService, SME_ASYNC_VALIDATORS, SME_FORM_FIELD_VALIDATION_ALERT_CONTAINER_PROVIDER, SME_LAYOUT_PROVIDER, SME_VALIDATORS, ScheduleRebootService, SchemaDataTypeStore, SchemaFieldContext, SchemaFieldHostComponent, SchemaFieldHostModule, SchemaFieldLoaderComponentBase, SchemaFormComponent, SchemaFormModule, SchemaPrimitiveType, SchemaUtilities, SearchFormFieldComponent, SecureExtensionDataService, SelectFormFieldDirective, SettingsComponent, SettingsContentComponent, SettingsFooterComponent, SettingsFormDirective, SettingsFormService, SettingsHeaderComponent, SettingsModule, SettingsNavigationComponent, SettingsPageComponent, SettingsService, SimplePropertySchemaFieldLoaderComponent, SliderFormFieldComponent, SliderFormFieldLoaderComponent, SmeExtensionService, SmeFormsModule, SmeInject, SmeInjectable, SmeInjectableBase, SmeInternalFormFieldComponent, SmeResponsiveWindowBreakpoints, SmeResponsiveWindowBreakpointsValue, SmeResponsiveWindowManagerComponent, SmeRouterLinkDirective, SmeRouterModule, SmeSchemaProperty, SmeTemplateOutletModule, SmeUxComponent, SmeUxModule, SnapInExtensionComponent, SnapInExtensionModule, SplitViewComponent, SplitViewContentComponent, SplitViewModule, SplitViewPaneComponent, StackedBarComponent, StackedHorizontalBarChartComponent, StatusIconComponent, StatusIconType, SvgDirective, SvgInlineDirective, SvgInlineResource, SvgModule, SvgResource, TabbedFormController, TabbedFormItemController, TabbedFormLoaderComponent, TabbedLineChartGroupComponent, TagService, TagsActionButtonComponent, TagsColumnComponent, TagsFormFieldComponent, TagsFormFieldLoaderComponent, TelemetryDirective, TelemetryDirectiveModule, TemplateDrivenWizardStepComponent, TemplateOutletDirective, TextFormFieldComponent, TextFormFieldLoaderComponent, TileComponent, TileContentComponent, TileDirectivesModule, TileImageDirective, TileModule, TileRadioGroupFormFieldComponent, TimeFormFieldComponent, ToggleSwitchFormFieldComponent, ToggleSwitchFormFieldLoaderComponent, ToolHeaderComponent, ToolHeaderModule, TooltipDirective, TooltipHostComponent, TooltipHostInstance, TooltipModule, TooltipPlacement, TooltipZoneDirective, TreeTableComponent, UserAliveService, UxExtensionRootComponent, ValidationAlertComponent, ValidationAlertSeverity, WarningBadgeComponent, WebsocketStreamService, WizardAsParent, WizardBuilder, WizardComponent, WizardModule, WizardNavigationInformation, WizardStage, WizardStep, WizardStepComponent, WorkItemService, YesNoConverterPipe, YesNoConverterPipeModule, Yield, alertDialog, getFullRouteParams, modalDialog };
|
|
52448
|
+
export { AccordionComponent, AccordionModule, AccordionPanelComponent, ActionBarComponent, ActionBarDirective, ActionButton, ActionButtonAsync, ActionButtonAsyncComponent, ActionButtonComponent, ActionButtonRendererComponent, ActionContainerComponent, ActionDropdown, ActionDropdownComponent, ActionDropdownRendererComponent, ActionItem, ActionItemComponent, ActionItemRendererComponent, ActionItemSeparator, ActionItemSeparatorComponent, ActionItemSeparatorRendererComponent, ActionMenuComponent, ActionsModule, ActiveConnectionService, ActiveDirectoryModule, ActiveDirectorySearchFormFieldComponent, ActiveDirectoryService, AlertBarComponent, AlertBarModule, AlertBarService, AlertSeverity, AppContextService, AppErrorHandler, ApplyMode, AriaLiveOptions, ArrayFormFieldComponent, ArrayFormFieldLoaderComponent, ArrayPropertySchemaFieldLoaderComponent, AuthorizationService, AutofocusDirective, AutofocusModule, AzureManagerService, BackdropComponent, BackdropModule, BackgroundExtensionRootComponent, BadgeBaseComponent, BadgeFeatureTypes, BadgeModule, BannerComponent, BannerModule, BaseComponent, BaseDialogComponent, BaseFormData, BasePropertiesForm, BasicFormLoaderComponent, BatchService, BooleanConverterPipe, BooleanConverterPipeModule, BreadcrumbComponent, BreadcrumbHeaderComponent, BreadcrumbHeaderModule, BreadcrumbModule, BreadcrumbSeparator, BugFixesFeatureBadgeComponent, ByteUnitConverterPipe, ByteUnitConverterPipeModule, CAPSLOCK_VALIDATOR, CalendarFormFieldComponent, CanDeactivateGuard, CapacityBarChartComponent, CapacityBase, CapacityDoughnutChartComponent, CapsLockValidatorDirective, ChartComponent, ChartModule, CheckboxFormFieldComponent, CheckboxFormFieldLoaderComponent, ChecklistFormFieldComponent, ChecklistFormFieldLoaderComponent, ChoiceDialogComponent, CimService, CimStreamService, ClampDirective, ClampModule, ClockFormFieldComponent, CodeFormFieldComponent, CodeFormFieldLoaderComponent, ColumnPickerService, ComboboxFormFieldComponent, ComboboxFormFieldLoaderComponent, ComingSoonBadgeComponent, CommonDialogsComponent, CommonSettingsComponent, CommonSettingsComponentBase, ConfirmationDialogComponent, ConfirmationListDialogComponent, ConnectionService, ConnectivityEnforcer, ConnectivityLevel, ContextDropdownComponent, ContextMenuComponent, ContextMenuDirective, ContextMenuModule, CoreServiceModule, CredSSPEnabledBadgeComponent, CredSSPManagerService, CriticalBadgeComponent, CustomBadgeComponent, DataOnlyFormFieldLoaderComponent, DataTableColumnComponent, DataTableColumnPickerExtension, DataTableComponent, DataTableModule, DataTableMultipleSelectMode, DataTableRenderedItemType, DataTableSortMode, DateConverterPipe, DateConverterPipeModule, DateFormFieldComponent, DateTimeFormFieldComponent, DateTimeRangeFormFieldComponent, DateTimeRangeOptionComponent, Debounce, DeleteColumnComponent, Deprecated, DetailsComponent, DetailsModule, DevGuardService, DialogChangeEvent, DialogCloseReason, DialogComponent, DialogContentComponent, DialogFooterComponent, DialogHeaderComponent, DialogMode, DialogModule, DialogService, DisabledChangedEvent, DisabledDirective, DisabledModule, DiscardDirective, DiscardModule, DocumentationComponent, DocumentationModule, DoughnutChartComponent, DoughnutChartModule, DropdownComponent, DropdownModule, DropdownService, DynamicActionItemComponent, DynamicComponentBase, EditableCollectionItem, EditableLayoutComponent, EditableLayoutItemComponent, ElectronService, EnumConverterPipe, EnumConverterPipeModule, ExperimentGuardService, ExtensionBrokerService, ExtensionDialogComponent, ExtensionRootModule, FeedbackBadgeComponent, FieldsetDirective, FileFormFieldComponent, FileFormFieldLoaderComponent, FileTransferService, FilterPipe, FilterPipeModule, FormAsyncValidatorBase, FormField, FormFieldAccessor, FormFieldAccessorDirective, FormFieldAsyncValidatorDirective, FormFieldComponent, FormFieldIsolatorComponent, FormFieldLayoutComponent, FormFieldOptionComponent, FormFieldOptionSubFormTemplateLoaderComponent, FormFieldOrientation, FormFieldTemplateDirective, FormFieldValidatorDirective, FormValidatorBase, FormWizardStepComponent, FormatPipe, FormatPipeModule, FrameService, GatewayService, GuardsModule, GuidedPaneComponent, GuidedPanelComponent, GuidedPanelModule, HeaderComponent, HeaderModule, HealthAlertSeverity, HighlightPipe, HighlightPipeModule, HorizontalBarChartComponent, HorizontalBarChartModule, HttpService, IconLayerComponent, IconModule, IdleComponent, IdleModule, ImprovementFeatureBadgeComponent, InputValidatorDirective, InstallationTypeGuardService, JobsService, JsonFormFieldComponent, JsonFormFieldLoaderComponent, LayeredIconComponent, LayoutComponent, LayoutConfigGenerator, LayoutDefinitionComponent, LayoutDrivenType, LayoutItemComponent, LayoutItemConfigMode, LayoutItemConfigPropertyWidthType, LayoutModule, LegendComponent, LegendEntryComponent, LegendModule, LifetimeService, LineChartComponent, LineChartModule, LineChartType, ListFormFieldComponent, LoadingWheelComponent, LoadingWheelModule, LoadingWheelSize, LocalDateConverterPipe, MachineNameValidatorDirective, MarkdownDirective, MarkdownModule, MasterViewComponent, MasterViewModule, MatchFieldValidatorDirective, MediaConversion2, MessageDialogComponent, Monaco, Navigation, NavigationService, NavigationTitle, NewBadgeComponent, NewFeatureBadgeComponent, NodeCredentialsFormComponent, NodeCredentialsFormModule, NodeService, NotificationService, NumberFormFieldComponent, NumberFormFieldLoaderComponent, ObjectDefaultFormFieldLoaderComponent, ObjectPropertySchemaFieldLoaderComponent, OptionsFormFieldComponent, OrderedListFormFieldComponent, OrderedListFormFieldLoaderComponent, PageAlertBarComponent, PageAlertBarModule, PanelControlComponent, PasswordFormFieldComponent, PasswordFormFieldLoaderComponent, PivotComponent, PivotModule, PivotTabComponent, PivotTabType, PowerShellService, PowerShellStreamService, PreviewBadgeComponent, PropertyGridComponent, PropertyGridItemComponent, PropertyGridModule, QueryDataItemPresetGenerator, QueryDataItemValueType, QueryDataOperand, QueryEditorComponent, QueryEditorModule, RadioGroupFormFieldComponent, RadioGroupFormFieldLoaderComponent, RatingRadioGroupFormFieldComponent, ReactiveForm, ReactiveFormAccessor, ReactiveFormWizardStepComponent, ReadonlyFormFieldComponent, RequiredTrimmedValidatorDirective, ResizerComponent, ResizerModule, ResourceService, RpcService, RpcShellService, SME_ASYNC_VALIDATORS, SME_FORM_FIELD_VALIDATION_ALERT_CONTAINER_PROVIDER, SME_LAYOUT_PROVIDER, SME_VALIDATORS, ScheduleRebootService, SchemaDataTypeStore, SchemaFieldContext, SchemaFieldHostComponent, SchemaFieldHostModule, SchemaFieldLoaderComponentBase, SchemaFormComponent, SchemaFormModule, SchemaPrimitiveType, SchemaUtilities, SearchFormFieldComponent, SecureExtensionDataService, SelectFormFieldDirective, SettingsComponent, SettingsContentComponent, SettingsFooterComponent, SettingsFormDirective, SettingsFormService, SettingsHeaderComponent, SettingsModule, SettingsNavigationComponent, SettingsPageComponent, SettingsService, SimplePropertySchemaFieldLoaderComponent, SliderFormFieldComponent, SliderFormFieldLoaderComponent, SmeExtensionService, SmeFormsModule, SmeInject, SmeInjectable, SmeInjectableBase, SmeInternalFormFieldComponent, SmeResponsiveWindowBreakpoints, SmeResponsiveWindowBreakpointsValue, SmeResponsiveWindowManagerComponent, SmeRouterLinkDirective, SmeRouterModule, SmeSchemaProperty, SmeTemplateOutletModule, SmeUxComponent, SmeUxModule, SnapInExtensionComponent, SnapInExtensionModule, SplitViewComponent, SplitViewContentComponent, SplitViewModule, SplitViewPaneComponent, StackedBarComponent, StackedHorizontalBarChartComponent, StatusIconComponent, StatusIconType, SvgDirective, SvgInlineDirective, SvgInlineResource, SvgModule, SvgResource, TabbedFormController, TabbedFormItemController, TabbedFormLoaderComponent, TabbedLineChartGroupComponent, TagService, TagsActionButtonComponent, TagsColumnComponent, TagsFormFieldComponent, TagsFormFieldLoaderComponent, TelemetryDirective, TelemetryDirectiveModule, TemplateDrivenWizardStepComponent, TemplateOutletDirective, TextFormFieldComponent, TextFormFieldLoaderComponent, TileComponent, TileContentComponent, TileDirectivesModule, TileImageDirective, TileModule, TileRadioGroupFormFieldComponent, TimeFormFieldComponent, ToggleSwitchFormFieldComponent, ToggleSwitchFormFieldLoaderComponent, ToolHeaderComponent, ToolHeaderModule, TooltipDirective, TooltipHostComponent, TooltipHostInstance, TooltipModule, TooltipPlacement, TooltipZoneDirective, TreeTableComponent, UserAliveService, UxExtensionRootComponent, ValidationAlertComponent, ValidationAlertSeverity, WarningBadgeComponent, WebsocketStreamService, WizardAsParent, WizardBuilder, WizardComponent, WizardModule, WizardNavigationInformation, WizardStage, WizardStep, WizardStepComponent, WorkItemService, YesNoConverterPipe, YesNoConverterPipeModule, Yield, alertDialog, getFullRouteParams, modalDialog };
|
|
51974
52449
|
//# sourceMappingURL=microsoft-windows-admin-center-sdk-angular.js.map
|