@aurelia-mdc-web/all 9.3.10-au2 → 9.3.11-au2
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.
|
@@ -32,7 +32,7 @@ export class MdcDialogService {
|
|
|
32
32
|
}
|
|
33
33
|
};
|
|
34
34
|
const dialogContainer = document.createElement('div');
|
|
35
|
-
if (!this.au.container.
|
|
35
|
+
if (!this.au.container.hasFactory(options.viewModel)) {
|
|
36
36
|
this.au.container.register(options.viewModel);
|
|
37
37
|
}
|
|
38
38
|
const def = CustomElement.getDefinition(options.viewModel);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mdc-dialog-service.js","sourceRoot":"","sources":["../../src/dialog/mdc-dialog-service.ts"],"names":[],"mappings":"AACA,OAAgB,EAAE,eAAe,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AACtE,OAAO,EAAuB,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAkBtD,kCAAkC;AAClC,MAAM,OAAO,gBAAgB;IACE;IAA7B,YAA6B,KAAc,OAAO,CAAC,QAAQ,CAAC;QAA/B,OAAE,GAAF,EAAE,CAA6B;IAAI,CAAC;IAEjE,gDAAgD;IAChD,KAAK,CAAC,IAAI,CAA8C,OAA6B;QACnF,IAAI,cAA2E,CAAC;QAChF,MAAM,aAAa,GAAG,IAAI,OAAO,CAAS,CAAC,CAAC,EAAE,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC;QACnE,IAAI,cAAyC,CAAC;QAC9C,MAAM,aAAa,GAAG,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC;QAC3D,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,MAAM,cAAc,GAA6B;YAC/C,YAAY,EAAE,GAAG,EAAE;gBACjB,MAAM,GAAG,IAAI,CAAC;gBACd,cAAc,EAAE,CAAC;YACnB,CAAC;YACD,YAAY,EAAE,CAAC,GAAwB,EAAE,EAAE;gBACzC,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,0FAA0F;oBAC1F,cAAc,EAAE,CAAC;gBACnB,CAAC;gBACD,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAClC,UAAU,CAAC,UAAU,EAAE,CAAC;gBACxB,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,YAAY,EAAE,cAAc,CAAC,YAAY,CAAC,CAAC;gBACrF,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,YAAY,EAAE,cAAc,CAAC,YAAY,CAAC,CAAC;gBACrF,eAAe,CAAC,MAAM,EAAE,CAAC;YAC3B,CAAC;SACF,CAAC;QAEF,MAAM,eAAe,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACtD,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,
|
|
1
|
+
{"version":3,"file":"mdc-dialog-service.js","sourceRoot":"","sources":["../../src/dialog/mdc-dialog-service.ts"],"names":[],"mappings":"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","sourcesContent":["import { MdcDialog } from './mdc-dialog';\nimport Aurelia, { CustomAttribute, IAurelia, resolve } from 'aurelia';\nimport { MDCDialogCloseEvent, strings } from '@material/dialog';\nimport { CustomElement } from '@aurelia/runtime-html';\nimport { Constructable } from '@aurelia/kernel';\nimport { IMdcRippleElement, MdcRipple } from '../ripple/mdc-ripple';\n\n/** Dialog service open method options */\nexport interface IMdcDialogOptions<T extends { loading: (params: any) => any }> {\n /** A class represeting the dialog content view model */\n viewModel: Constructable<T>;\n\n /** Data to pass to the view model's loading method */\n model?: unknown;\n}\n\ninterface IMdcDialogBindingContext {\n handleClosed(evt: MDCDialogCloseEvent): void;\n handleOpened(): void;\n}\n\n/** Service to open MDC dialogs */\nexport class MdcDialogService {\n constructor(private readonly au: Aurelia = resolve(IAurelia)) { }\n\n /** Opens the dialog specified in the options */\n async open<T extends { loading: (params: any) => any }>(options: IMdcDialogOptions<T>) {\n let closedResolver: (action?: string | PromiseLike<string> | undefined) => void;\n const closedPromise = new Promise<string>(r => closedResolver = r);\n let openedResolver: (value?: unknown) => void;\n const openedPromise = new Promise(r => openedResolver = r);\n let opened = false;\n const bindingContext: IMdcDialogBindingContext = {\n handleOpened: () => {\n opened = true;\n openedResolver();\n },\n handleClosed: (evt: MDCDialogCloseEvent) => {\n if (!opened) {\n // The dialog was closed before it was opened, need to prevent an unresolved open promise.\n openedResolver();\n }\n closedResolver(evt.detail.action);\n controller.deactivate();\n dialogVm.root.removeEventListener(strings.CLOSED_EVENT, bindingContext.handleClosed);\n dialogVm.root.removeEventListener(strings.OPENED_EVENT, bindingContext.handleOpened);\n dialogContainer.remove();\n }\n };\n\n const dialogContainer = document.createElement('div');\n if (!this.au.container.hasFactory(options.viewModel)) {\n this.au.container.register(options.viewModel);\n }\n const def = CustomElement.getDefinition(options.viewModel);\n dialogContainer.innerHTML = `<${def.name}></${def.name}>`;\n document.body.appendChild(dialogContainer);\n\n const controller = await this.au.enhance({ host: dialogContainer, component: {} });\n const dialogVm = CustomElement.for<MdcDialog>(dialogContainer.querySelector('mdc-dialog') as HTMLElement).viewModel;\n dialogVm.root.addEventListener(strings.CLOSED_EVENT, bindingContext.handleClosed);\n dialogVm.root.addEventListener(strings.OPENED_EVENT, bindingContext.handleOpened);\n const vm = CustomElement.for<T>(dialogContainer.firstChild as HTMLElement).viewModel;\n if (vm.loading) {\n const loadingResult = vm.loading(options.model);\n if (loadingResult instanceof Promise) {\n await loadingResult;\n }\n }\n await dialogVm.initialised;\n dialogVm.open();\n\n await openedPromise;\n // re-layout ripple elements because dialogs use `transform: scale(.8)` and initial layout is incorrect\n const ripples = Array.from(dialogVm.root.querySelectorAll<IMdcRippleElement>('.mdc-ripple-upgraded'));\n await Promise.all(ripples.map(async x => {\n const ripple = CustomAttribute.for<MdcRipple>(x, 'mdc-ripple');\n await ripple?.viewModel.initialised;\n ripple?.viewModel.foundation?.layout();\n }));\n return await closedPromise;\n }\n}\n"]}
|
package/package.json
CHANGED
|
@@ -49,7 +49,7 @@ export class MdcDialogService {
|
|
|
49
49
|
};
|
|
50
50
|
|
|
51
51
|
const dialogContainer = document.createElement('div');
|
|
52
|
-
if (!this.au.container.
|
|
52
|
+
if (!this.au.container.hasFactory(options.viewModel)) {
|
|
53
53
|
this.au.container.register(options.viewModel);
|
|
54
54
|
}
|
|
55
55
|
const def = CustomElement.getDefinition(options.viewModel);
|