UNPKG

@microsoft/windows-admin-center-sdk

Version:

Microsoft - Windows Admin Center Shell

68 lines 9.46 kB
import { SmeResponsiveWindowBreakpoints } from '../common/sme-responsive-window-manager.component'; export var LayoutItemConfigPropertyWidthType; (function (LayoutItemConfigPropertyWidthType) { LayoutItemConfigPropertyWidthType["Percentage"] = "Percentage"; LayoutItemConfigPropertyWidthType["Number"] = "Number"; })(LayoutItemConfigPropertyWidthType || (LayoutItemConfigPropertyWidthType = {})); export var LayoutItemConfigMode; (function (LayoutItemConfigMode) { LayoutItemConfigMode["Default"] = "Default"; LayoutItemConfigMode["Custom"] = "Custom"; })(LayoutItemConfigMode || (LayoutItemConfigMode = {})); export var LayoutDrivenType; (function (LayoutDrivenType) { LayoutDrivenType["Default"] = "Default"; LayoutDrivenType["ResponsiveWindowManager"] = "ResponsiveWindowManager"; })(LayoutDrivenType || (LayoutDrivenType = {})); /** * The layout config generator. * * It determines the configurable width for the layout item. * Usage: * * const layoutConfigGenerator = new LayoutConfigGenerator(); * layoutConfigGenerator.initialize([20, '100']) * * type number is used for pixel. * type string is used for percentage. */ export class LayoutConfigGenerator { /** * It initialized the layout configs for the layout component. * * @param phoneUp the layout config array for phone-up * @param phoneDown the layout config array for phone-down * @param reflow the layout config array for reflow * @returns */ initialize(phoneUp, phoneDown, reflow) { const layoutConfig = {}; this.parseConfig(layoutConfig, phoneUp, SmeResponsiveWindowBreakpoints.PhoneUp); this.parseConfig(layoutConfig, phoneDown, SmeResponsiveWindowBreakpoints.PhoneDown); this.parseConfig(layoutConfig, reflow, SmeResponsiveWindowBreakpoints.Reflow); return layoutConfig; } parseConfig(layoutConfig, config, smeResponsiveWindowBreakpoints) { if (!config) { layoutConfig[smeResponsiveWindowBreakpoints] = { mode: LayoutItemConfigMode.Default }; } else { layoutConfig[smeResponsiveWindowBreakpoints] = { mode: LayoutItemConfigMode.Custom, config: [] }; for (let i = 0; i <= config.length; i++) { layoutConfig[smeResponsiveWindowBreakpoints].config.push({ width: { type: typeof config[i] === 'string' ? LayoutItemConfigPropertyWidthType.Percentage : LayoutItemConfigPropertyWidthType.Number, value: typeof config[i] === 'string' ? parseFloat(config[i]) : config[i] } }); } } } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2FuZ3VsYXIvc3JjL2NvbnRyb2xzL2xheW91dC9sYXlvdXQtY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBV25HLE1BQU0sQ0FBTixJQUFZLGlDQUdYO0FBSEQsV0FBWSxpQ0FBaUM7SUFDekMsOERBQXlCLENBQUE7SUFDekIsc0RBQWlCLENBQUE7QUFDckIsQ0FBQyxFQUhXLGlDQUFpQyxLQUFqQyxpQ0FBaUMsUUFHNUM7QUFhRCxNQUFNLENBQU4sSUFBWSxvQkFHWDtBQUhELFdBQVksb0JBQW9CO0lBQzVCLDJDQUFtQixDQUFBO0lBQ25CLHlDQUFpQixDQUFBO0FBQ3JCLENBQUMsRUFIVyxvQkFBb0IsS0FBcEIsb0JBQW9CLFFBRy9CO0FBRUQsTUFBTSxDQUFOLElBQVksZ0JBR1g7QUFIRCxXQUFZLGdCQUFnQjtJQUN4Qix1Q0FBbUIsQ0FBQTtJQUNuQix1RUFBbUQsQ0FBQTtBQUN2RCxDQUFDLEVBSFcsZ0JBQWdCLEtBQWhCLGdCQUFnQixRQUczQjtBQUVEOzs7Ozs7Ozs7OztHQVdHO0FBQ0gsTUFBTSxPQUFPLHFCQUFxQjtJQUM5Qjs7Ozs7OztPQU9HO0lBQ0ksVUFBVSxDQUFDLE9BQWMsRUFBRSxTQUFpQixFQUFFLE1BQWM7UUFDL0QsTUFBTSxZQUFZLEdBQWlCLEVBQUUsQ0FBQztRQUN0QyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxPQUFPLEVBQUUsOEJBQThCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDaEYsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsU0FBUyxFQUFFLDhCQUE4QixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3BGLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLE1BQU0sRUFBRSw4QkFBOEIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM5RSxPQUFPLFlBQVksQ0FBQztJQUN4QixDQUFDO0lBRU8sV0FBVyxDQUFDLFlBQTBCLEVBQUUsTUFBVyxFQUFFLDhCQUE4RDtRQUN2SCxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ1QsWUFBWSxDQUFDLDhCQUE4QixDQUFDLEdBQUc7Z0JBQzNDLElBQUksRUFBRSxvQkFBb0IsQ0FBQyxPQUFPO2FBQ3JDLENBQUM7U0FDTDthQUFNO1lBQ0gsWUFBWSxDQUFDLDhCQUE4QixDQUFDLEdBQUc7Z0JBQzNDLElBQUksRUFBRSxvQkFBb0IsQ0FBQyxNQUFNO2dCQUNqQyxNQUFNLEVBQUUsRUFBRTthQUNiLENBQUM7WUFFRixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDckMsWUFBWSxDQUFDLDhCQUE4QixDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQztvQkFDckQsS0FBSyxFQUFFO3dCQUNILElBQUksRUFBRSxPQUFPLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxRQUFRLENBQUMsQ0FBQzs0QkFDakMsaUNBQWlDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxpQ0FBaUMsQ0FBQyxNQUFNO3dCQUMzRixLQUFLLEVBQUUsT0FBTyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7cUJBQzNFO2lCQUNKLENBQUMsQ0FBQzthQUNOO1NBQ0o7SUFDTCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTbWVSZXNwb25zaXZlV2luZG93QnJlYWtwb2ludHMgfSBmcm9tICcuLi9jb21tb24vc21lLXJlc3BvbnNpdmUtd2luZG93LW1hbmFnZXIuY29tcG9uZW50JztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgTGF5b3V0SXRlbUNvbmZpZyB7XHJcbiAgICB3aWR0aDogTGF5b3V0SXRlbUNvbmZpZ1Byb3BlcnR5V2lkdGg7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgTGF5b3V0SXRlbUNvbmZpZ1Byb3BlcnR5V2lkdGgge1xyXG4gICAgdHlwZTogTGF5b3V0SXRlbUNvbmZpZ1Byb3BlcnR5V2lkdGhUeXBlO1xyXG4gICAgdmFsdWU6IG51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGVudW0gTGF5b3V0SXRlbUNvbmZpZ1Byb3BlcnR5V2lkdGhUeXBlIHtcclxuICAgIFBlcmNlbnRhZ2UgPSAnUGVyY2VudGFnZScsXHJcbiAgICBOdW1iZXIgPSAnTnVtYmVyJ1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIExheW91dENvbmZpZyB7XHJcbiAgICBbU21lUmVzcG9uc2l2ZVdpbmRvd0JyZWFrcG9pbnRzLlBob25lVXBdPzogTGF5b3V0Q29uZmlnSXRlbTtcclxuICAgIFtTbWVSZXNwb25zaXZlV2luZG93QnJlYWtwb2ludHMuUGhvbmVEb3duXT86IExheW91dENvbmZpZ0l0ZW07XHJcbiAgICBbU21lUmVzcG9uc2l2ZVdpbmRvd0JyZWFrcG9pbnRzLlJlZmxvd10/OiBMYXlvdXRDb25maWdJdGVtO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIExheW91dENvbmZpZ0l0ZW0ge1xyXG4gICAgbW9kZT86IExheW91dEl0ZW1Db25maWdNb2RlO1xyXG4gICAgY29uZmlnPzogTGF5b3V0SXRlbUNvbmZpZ1tdO1xyXG59XHJcblxyXG5leHBvcnQgZW51bSBMYXlvdXRJdGVtQ29uZmlnTW9kZSB7XHJcbiAgICBEZWZhdWx0ID0gJ0RlZmF1bHQnLFxyXG4gICAgQ3VzdG9tID0gJ0N1c3RvbSdcclxufVxyXG5cclxuZXhwb3J0IGVudW0gTGF5b3V0RHJpdmVuVHlwZSB7XHJcbiAgICBEZWZhdWx0ID0gJ0RlZmF1bHQnLFxyXG4gICAgUmVzcG9uc2l2ZVdpbmRvd01hbmFnZXIgPSAnUmVzcG9uc2l2ZVdpbmRvd01hbmFnZXInXHJcbn1cclxuXHJcbi8qKlxyXG4gKiBUaGUgbGF5b3V0IGNvbmZpZyBnZW5lcmF0b3IuXHJcbiAqXHJcbiAqIEl0IGRldGVybWluZXMgdGhlIGNvbmZpZ3VyYWJsZSB3aWR0aCBmb3IgdGhlIGxheW91dCBpdGVtLlxyXG4gKiBVc2FnZTpcclxuICpcclxuICogY29uc3QgbGF5b3V0Q29uZmlnR2VuZXJhdG9yID0gbmV3IExheW91dENvbmZpZ0dlbmVyYXRvcigpO1xyXG4gKiBsYXlvdXRDb25maWdHZW5lcmF0b3IuaW5pdGlhbGl6ZShbMjAsICcxMDAnXSlcclxuICpcclxuICogdHlwZSBudW1iZXIgaXMgdXNlZCBmb3IgcGl4ZWwuXHJcbiAqIHR5cGUgc3RyaW5nIGlzIHVzZWQgZm9yIHBlcmNlbnRhZ2UuXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgTGF5b3V0Q29uZmlnR2VuZXJhdG9yIHtcclxuICAgIC8qKlxyXG4gICAgICogSXQgaW5pdGlhbGl6ZWQgdGhlIGxheW91dCBjb25maWdzIGZvciB0aGUgbGF5b3V0IGNvbXBvbmVudC5cclxuICAgICAqXHJcbiAgICAgKiBAcGFyYW0gcGhvbmVVcCB0aGUgbGF5b3V0IGNvbmZpZyBhcnJheSBmb3IgcGhvbmUtdXBcclxuICAgICAqIEBwYXJhbSBwaG9uZURvd24gdGhlIGxheW91dCBjb25maWcgYXJyYXkgZm9yIHBob25lLWRvd25cclxuICAgICAqIEBwYXJhbSByZWZsb3cgdGhlIGxheW91dCBjb25maWcgYXJyYXkgZm9yIHJlZmxvd1xyXG4gICAgICogQHJldHVybnNcclxuICAgICAqL1xyXG4gICAgcHVibGljIGluaXRpYWxpemUocGhvbmVVcDogYW55W10sIHBob25lRG93bj86IGFueVtdLCByZWZsb3c/OiBhbnlbXSk6IExheW91dENvbmZpZyB7XHJcbiAgICAgICAgY29uc3QgbGF5b3V0Q29uZmlnOiBMYXlvdXRDb25maWcgPSB7fTtcclxuICAgICAgICB0aGlzLnBhcnNlQ29uZmlnKGxheW91dENvbmZpZywgcGhvbmVVcCwgU21lUmVzcG9uc2l2ZVdpbmRvd0JyZWFrcG9pbnRzLlBob25lVXApO1xyXG4gICAgICAgIHRoaXMucGFyc2VDb25maWcobGF5b3V0Q29uZmlnLCBwaG9uZURvd24sIFNtZVJlc3BvbnNpdmVXaW5kb3dCcmVha3BvaW50cy5QaG9uZURvd24pO1xyXG4gICAgICAgIHRoaXMucGFyc2VDb25maWcobGF5b3V0Q29uZmlnLCByZWZsb3csIFNtZVJlc3BvbnNpdmVXaW5kb3dCcmVha3BvaW50cy5SZWZsb3cpO1xyXG4gICAgICAgIHJldHVybiBsYXlvdXRDb25maWc7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBwYXJzZUNvbmZpZyhsYXlvdXRDb25maWc6IExheW91dENvbmZpZywgY29uZmlnOiBhbnksIHNtZVJlc3BvbnNpdmVXaW5kb3dCcmVha3BvaW50czogU21lUmVzcG9uc2l2ZVdpbmRvd0JyZWFrcG9pbnRzKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCFjb25maWcpIHtcclxuICAgICAgICAgICAgbGF5b3V0Q29uZmlnW3NtZVJlc3BvbnNpdmVXaW5kb3dCcmVha3BvaW50c10gPSB7XHJcbiAgICAgICAgICAgICAgICBtb2RlOiBMYXlvdXRJdGVtQ29uZmlnTW9kZS5EZWZhdWx0XHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgbGF5b3V0Q29uZmlnW3NtZVJlc3BvbnNpdmVXaW5kb3dCcmVha3BvaW50c10gPSB7XHJcbiAgICAgICAgICAgICAgICBtb2RlOiBMYXlvdXRJdGVtQ29uZmlnTW9kZS5DdXN0b20sXHJcbiAgICAgICAgICAgICAgICBjb25maWc6IFtdXHJcbiAgICAgICAgICAgIH07XHJcblxyXG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8PSBjb25maWcubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgICAgIGxheW91dENvbmZpZ1tzbWVSZXNwb25zaXZlV2luZG93QnJlYWtwb2ludHNdLmNvbmZpZy5wdXNoKHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiB0eXBlb2YgY29uZmlnW2ldID09PSAnc3RyaW5nJyA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMYXlvdXRJdGVtQ29uZmlnUHJvcGVydHlXaWR0aFR5cGUuUGVyY2VudGFnZSA6IExheW91dEl0ZW1Db25maWdQcm9wZXJ0eVdpZHRoVHlwZS5OdW1iZXIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiB0eXBlb2YgY29uZmlnW2ldID09PSAnc3RyaW5nJyA/IHBhcnNlRmxvYXQoY29uZmlnW2ldKSA6IGNvbmZpZ1tpXVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiJdfQ==