@wcardinal/wcardinal-ui 0.200.3 → 0.201.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/types/wcardinal/ui/{d-controller-default-command.d.ts → d-controller-command-impl.d.ts} +1 -1
- package/dist/types/wcardinal/ui/{d-controller-default-focus.d.ts → d-controller-focus-impl.d.ts} +1 -1
- package/dist/types/wcardinal/ui/index.d.ts +2 -2
- package/dist/wcardinal/ui/d-application.js +2 -2
- package/dist/wcardinal/ui/d-application.js.map +1 -1
- package/dist/wcardinal/ui/d-base.js +2 -2
- package/dist/wcardinal/ui/d-base.js.map +1 -1
- package/dist/wcardinal/ui/{d-controller-default-command.js → d-controller-command-impl.js} +24 -24
- package/dist/wcardinal/ui/d-controller-command-impl.js.map +1 -0
- package/dist/wcardinal/ui/{d-controller-default-focus.js → d-controller-focus-impl.js} +20 -18
- package/dist/wcardinal/ui/d-controller-focus-impl.js.map +1 -0
- package/dist/wcardinal/ui/d-controllers.js +2 -2
- package/dist/wcardinal/ui/d-controllers.js.map +1 -1
- package/dist/wcardinal/ui/index.js +2 -2
- package/dist/wcardinal/ui/index.js.map +1 -1
- package/dist/wcardinal-ui-theme-dark.js +1 -1
- package/dist/wcardinal-ui-theme-dark.min.js +1 -1
- package/dist/wcardinal-ui-theme-white.js +1 -1
- package/dist/wcardinal-ui-theme-white.min.js +1 -1
- package/dist/wcardinal-ui.cjs.js +47 -45
- package/dist/wcardinal-ui.js +47 -45
- package/dist/wcardinal-ui.min.js +2 -2
- package/dist/wcardinal-ui.min.js.map +1 -1
- package/package.json +1 -1
- package/dist/wcardinal/ui/d-controller-default-command.js.map +0 -1
- package/dist/wcardinal/ui/d-controller-default-focus.js.map +0 -1
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"d-controller-default-command.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-controller-default-command.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAGhD,IAAM,iBAAiB,GAAG,UAAC,OAAiB;IAC3C,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;AACvD,CAAC,CAAC;AAEF,IAAM,cAAc,GAAG,UAAC,OAAiB;IACxC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;AACnD,CAAC,CAAC;AAEF,IAAM,cAAc,GAAG,UAAC,OAAiB;IACxC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;AACnD,CAAC,CAAC;AAEF;IAA+C,6CAAkB;IAMhE;QAAA,YACC,iBAAO,SAMP;QAJA,KAAI,CAAC,SAAS,GAAG,CAAC,CAAC;QACnB,KAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,KAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC;;IACxB,CAAC;IAED,wCAAI,GAAJ;QACC,IAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;QAE9B,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE;YACxB,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE;gBACpB,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;aAC7B;iBAAM;gBACN,OAAO,IAAI,CAAC;aACZ;SACD;aAAM;YACN,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;SACnC;IACF,CAAC;IAED,wCAAI,GAAJ,UAAK,OAAiB;QACrB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5B,IAAI,CAAC,IAAI,EAAE,CAAC;IACb,CAAC;IAED,wCAAI,GAAJ;QACC,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,EAAE;YAC5B,6BAA6B;YAC7B,iBAAiB;YACjB,OAAO;SACP;QAED,IAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE;YACxB,gCAAgC;YAChC,iBAAiB;YACjB,OAAO;SACP;QAED,IAAM,OAAO,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;QAChC,IAAI,OAAO,IAAI,IAAI,EAAE;YACpB,gCAAgC;YAChC,iBAAiB;YACjB,OAAO;SACP;QAED,IAAI,OAAO,YAAY,YAAY,EAAE;YACpC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;SAC1B;aAAM,IAAI,OAAO,YAAY,YAAY,EAAE;YAC3C,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;SAC1B;aAAM;YACN,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;SACtB;IACF,CAAC;IAES,+CAAW,GAArB,UAAsB,OAAqB;QAA3C,iBAsBC;QArBA,IAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,EAAE;YACjC,IAAM,SAAO,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;YACvD,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC;YACpB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAC1B,IAAM,MAAM,GAAG,SAAO,CAAC,IAAI,EAAE,CAAC;YAC9B,IAAI,MAAM,KAAK,IAAI,EAAE;gBACpB,IAAI,CAAC,aAAa,CAAC,SAAO,CAAC,CAAC;aAC5B;iBAAM,IAAI,MAAM,KAAK,KAAK,EAAE;gBAC5B,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;aACrB;iBAAM;gBACN,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,IAAI,CAC5B;oBACC,KAAI,CAAC,aAAa,CAAC,SAAO,CAAC,CAAC;gBAC7B,CAAC,EACD;oBACC,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACtB,CAAC,CACD,CAAC;aACF;SACD;IACF,CAAC;IAES,+CAAW,GAArB,UAAsB,OAAqB;QAA3C,iBAsBC;QArBA,IAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,EAAE;YACvB,IAAM,SAAO,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;YACnD,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC;YACpB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAC1B,IAAM,MAAM,GAAG,SAAO,CAAC,IAAI,EAAE,CAAC;YAC9B,IAAI,MAAM,KAAK,IAAI,EAAE;gBACpB,IAAI,CAAC,aAAa,CAAC,SAAO,CAAC,CAAC;aAC5B;iBAAM,IAAI,MAAM,KAAK,KAAK,EAAE;gBAC5B,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;aACrB;iBAAM;gBACN,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,IAAI,CAC5B;oBACC,KAAI,CAAC,aAAa,CAAC,SAAO,CAAC,CAAC;gBAC7B,CAAC,EACD;oBACC,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACtB,CAAC,CACD,CAAC;aACF;SACD;IACF,CAAC;IAES,2CAAO,GAAjB,UAAkB,OAAiB;QAAnC,iBA2BC;QA1BA,IAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;QACxC,IAAM,UAAU,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAC9C,IAAI,OAAO,IAAI,UAAU,EAAE;YAC1B,IAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;YAC1D,IAAI,CAAC,GAAG,IAAI,EAAE;gBACb,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAClB,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;gBACnB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;aAC1B;YACD,IAAI,CAAC,OAAO,EAAE,CAAC;SACf;QACD,IAAM,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;QACjC,IAAI,MAAM,KAAK,IAAI,EAAE;YACpB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;SACxB;aAAM,IAAI,MAAM,KAAK,KAAK,EAAE;YAC5B,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;SACrB;aAAM;YACN,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,IAAI,CAC5B;gBACC,KAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACzB,CAAC,EACD;gBACC,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACtB,CAAC,CACD,CAAC;SACF;IACF,CAAC;IAES,2CAAO,GAAjB;QACC,IAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAM,IAAI,GAAG,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;QAC/B,IAAI,CAAC,GAAG,IAAI,EAAE;YACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,EAAE;gBAC9B,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;gBAClB,IAAI,CAAC,KAAK,EAAE,CAAC;aACb;SACD;IACF,CAAC;IAES,0CAAM,GAAhB,UAAiB,IAAY;QAC5B,IAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,GAAG,IAAI,EAAE;YACb,IAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;YAC9C,IAAI,GAAG,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;YAC3B,IAAI,CAAC,GAAG,IAAI,EAAE;gBACb,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,EAAE;oBACtD,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;iBAClB;gBAED,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC;gBACxC,OAAO,IAAI,CAAC;aACZ;SACD;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAES,6CAAS,GAAnB,UAAoB,OAAiB;QACpC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,iBAAiB,CAAC,OAAO,CAAC,EAAE;YAC/B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACzB,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE;gBAC7B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;aACzB;SACD;QACD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC1B,IAAI,CAAC,IAAI,EAAE,CAAC;IACb,CAAC;IAES,iDAAa,GAAvB,UAAwB,MAAgB;QACvC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE;YAC5B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;SACzB;QACD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC1B,IAAI,CAAC,IAAI,EAAE,CAAC;IACb,CAAC;IAES,iDAAa,GAAvB,UAAwB,MAAgB;QACvC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE;YAC5B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;SACzB;QACD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC1B,IAAI,CAAC,IAAI,EAAE,CAAC;IACb,CAAC;IAES,0CAAM,GAAhB,UAAiB,OAAiB;QACjC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,OAAO,CAAC,OAAO,EAAE,CAAC;QAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,EAAE;YACrD,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;SACrB;QACD,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;QACnB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC3B,CAAC;IAED,wCAAI,GAAJ;QACC,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;IAC1B,CAAC;IAED,yCAAK,GAAL;QACC,IAAI,CAAC,IAAI,CAAC,IAAI,aAAa,EAAE,CAAC,CAAC;IAChC,CAAC;IAED,wCAAI,GAAJ;QACC,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE;YACtB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,YAAY,EAAE,CAAC,CAAC;YACvC,IAAI,CAAC,IAAI,EAAE,CAAC;SACZ;IACF,CAAC;IAED,wCAAI,GAAJ;QACC,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE;YACtB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,YAAY,EAAE,CAAC,CAAC;YACvC,IAAI,CAAC,IAAI,EAAE,CAAC;SACZ;IACF,CAAC;IAED,8CAAU,GAAV;QACC,OAAO,CAAC,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC;IACtD,CAAC;IAED,8CAAU,GAAV;QACC,OAAO,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC;IACtE,CAAC;IACF,gCAAC;AAAD,CAAC,AAhPD,CAA+C,KAAK,CAAC,YAAY,GAgPhE","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { utils } from \"pixi.js\";\nimport { DCommand } from \"./d-command\";\nimport { DCommandClear } from \"./d-command-clear\";\nimport { DCommandFlag } from \"./d-command-flag\";\nimport { DCommandRedo } from \"./d-command-redo\";\nimport { DCommandUndo } from \"./d-command-undo\";\nimport { DControllerCommand } from \"./d-controller-command\";\n\nconst isCommandStorable = (command: DCommand): boolean => {\n\treturn !(command.getFlag() & DCommandFlag.UNSTORABLE);\n};\n\nconst isCommandClear = (command: DCommand): boolean => {\n\treturn !!(command.getFlag() & DCommandFlag.CLEAR);\n};\n\nconst isCommandClean = (command: DCommand): boolean => {\n\treturn !!(command.getFlag() & DCommandFlag.CLEAN);\n};\n\nexport class DControllerDefaultCommand extends utils.EventEmitter implements DControllerCommand {\n\tprotected _position: number;\n\tprotected _done: DCommand[];\n\tprotected _waiting: DCommand[];\n\tprotected _executing: Promise<void> | null;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._position = 0;\n\t\tthis._done = [];\n\t\tthis._waiting = [];\n\t\tthis._executing = null;\n\t}\n\n\tlast(): DCommand | null {\n\t\tconst done = this._done;\n\t\tconst waiting = this._waiting;\n\n\t\tif (waiting.length <= 0) {\n\t\t\tif (0 < done.length) {\n\t\t\t\treturn done[done.length - 1];\n\t\t\t} else {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t} else {\n\t\t\treturn waiting[waiting.length - 1];\n\t\t}\n\t}\n\n\tpush(command: DCommand): void {\n\t\tthis._waiting.push(command);\n\t\tthis.next();\n\t}\n\n\tnext(): void {\n\t\tif (this._executing != null) {\n\t\t\t// Still executing a command.\n\t\t\t// So do nothing.\n\t\t\treturn;\n\t\t}\n\n\t\tconst waiting = this._waiting;\n\t\tif (waiting.length <= 0) {\n\t\t\t// There is no waiting commands.\n\t\t\t// So do nothing.\n\t\t\treturn;\n\t\t}\n\n\t\tconst command = waiting.shift();\n\t\tif (command == null) {\n\t\t\t// There is no waiting commands.\n\t\t\t// So do nothing.\n\t\t\treturn;\n\t\t}\n\n\t\tif (command instanceof DCommandUndo) {\n\t\t\tthis.executeUndo(command);\n\t\t} else if (command instanceof DCommandRedo) {\n\t\t\tthis.executeRedo(command);\n\t\t} else {\n\t\t\tthis.execute(command);\n\t\t}\n\t}\n\n\tprotected executeUndo(command: DCommandUndo): void {\n\t\tconst done = this._done;\n\t\tif (this._position < done.length) {\n\t\t\tconst current = done[done.length - 1 - this._position];\n\t\t\tthis._position += 1;\n\t\t\tthis.emit(\"change\", this);\n\t\t\tconst result = current.undo();\n\t\t\tif (result === true) {\n\t\t\t\tthis.onSuccessUndo(current);\n\t\t\t} else if (result === false) {\n\t\t\t\tthis.onFail(command);\n\t\t\t} else {\n\t\t\t\tthis._executing = result.then(\n\t\t\t\t\t() => {\n\t\t\t\t\t\tthis.onSuccessUndo(current);\n\t\t\t\t\t},\n\t\t\t\t\t() => {\n\t\t\t\t\t\tthis.onFail(command);\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected executeRedo(command: DCommandRedo): void {\n\t\tconst done = this._done;\n\t\tif (0 < this._position) {\n\t\t\tconst current = done[done.length - this._position];\n\t\t\tthis._position -= 1;\n\t\t\tthis.emit(\"change\", this);\n\t\t\tconst result = current.redo();\n\t\t\tif (result === true) {\n\t\t\t\tthis.onSuccessRedo(current);\n\t\t\t} else if (result === false) {\n\t\t\t\tthis.onFail(command);\n\t\t\t} else {\n\t\t\t\tthis._executing = result.then(\n\t\t\t\t\t() => {\n\t\t\t\t\t\tthis.onSuccessRedo(current);\n\t\t\t\t\t},\n\t\t\t\t\t() => {\n\t\t\t\t\t\tthis.onFail(command);\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected execute(command: DCommand): void {\n\t\tconst isClear = isCommandClear(command);\n\t\tconst isStorable = isCommandStorable(command);\n\t\tif (isClear || isStorable) {\n\t\t\tconst size = isClear ? this._done.length : this._position;\n\t\t\tif (0 < size) {\n\t\t\t\tthis.remove(size);\n\t\t\t\tthis._position = 0;\n\t\t\t\tthis.emit(\"change\", this);\n\t\t\t}\n\t\t\tthis.cleanup();\n\t\t}\n\t\tconst result = command.execute();\n\t\tif (result === true) {\n\t\t\tthis.onSuccess(command);\n\t\t} else if (result === false) {\n\t\t\tthis.onFail(command);\n\t\t} else {\n\t\t\tthis._executing = result.then(\n\t\t\t\t() => {\n\t\t\t\t\tthis.onSuccess(command);\n\t\t\t\t},\n\t\t\t\t() => {\n\t\t\t\t\tthis.onFail(command);\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t}\n\n\tprotected cleanup(): void {\n\t\tconst done = this._done;\n\t\tconst size = done.length - 100;\n\t\tif (0 < size) {\n\t\t\tfor (let i = 0; i < size; ++i) {\n\t\t\t\tdone[i].destroy();\n\t\t\t\tdone.shift();\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected remove(size: number): boolean {\n\t\tconst done = this._done;\n\t\tif (0 < size) {\n\t\t\tconst ifrom = Math.max(0, done.length - size);\n\t\t\tsize = done.length - ifrom;\n\t\t\tif (0 < size) {\n\t\t\t\tfor (let i = ifrom, imax = done.length; i < imax; ++i) {\n\t\t\t\t\tdone[i].destroy();\n\t\t\t\t}\n\n\t\t\t\tdone.splice(ifrom, done.length - ifrom);\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\tprotected onSuccess(command: DCommand): void {\n\t\tthis._executing = null;\n\t\tif (isCommandStorable(command)) {\n\t\t\tthis._done.push(command);\n\t\t\tif (!isCommandClean(command)) {\n\t\t\t\tthis.emit(\"dirty\", this);\n\t\t\t}\n\t\t}\n\t\tthis.emit(\"change\", this);\n\t\tthis.next();\n\t}\n\n\tprotected onSuccessUndo(undoed: DCommand): void {\n\t\tthis._executing = null;\n\t\tif (!isCommandClean(undoed)) {\n\t\t\tthis.emit(\"dirty\", this);\n\t\t}\n\t\tthis.emit(\"change\", this);\n\t\tthis.next();\n\t}\n\n\tprotected onSuccessRedo(redoed: DCommand): void {\n\t\tthis._executing = null;\n\t\tif (!isCommandClean(redoed)) {\n\t\t\tthis.emit(\"dirty\", this);\n\t\t}\n\t\tthis.emit(\"change\", this);\n\t\tthis.next();\n\t}\n\n\tprotected onFail(command: DCommand): void {\n\t\tthis._executing = null;\n\t\tconst waiting = this._waiting;\n\t\tcommand.destroy();\n\t\tfor (let i = 0, imax = waiting.length; i < imax; ++i) {\n\t\t\twaiting[i].destroy();\n\t\t}\n\t\twaiting.length = 0;\n\t\tthis.emit(\"change\", this);\n\t}\n\n\tsize(): number {\n\t\treturn this._done.length;\n\t}\n\n\tclear(): void {\n\t\tthis.push(new DCommandClear());\n\t}\n\n\tredo(): void {\n\t\tif (this.isRedoable()) {\n\t\t\tthis._waiting.push(new DCommandRedo());\n\t\t\tthis.next();\n\t\t}\n\t}\n\n\tundo(): void {\n\t\tif (this.isUndoable()) {\n\t\t\tthis._waiting.push(new DCommandUndo());\n\t\t\tthis.next();\n\t\t}\n\t}\n\n\tisRedoable(): boolean {\n\t\treturn 0 < this._position && this._executing == null;\n\t}\n\n\tisUndoable(): boolean {\n\t\treturn this._position < this._done.length && this._executing == null;\n\t}\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"d-controller-default-focus.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-controller-default-focus.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {\n\tDControllerFocus,\n\tDFocusable,\n\tDFocusableContainer,\n\tDFocusableMightBe\n} from \"./d-controller-focus\";\n\nexport class DControllerDefaultFocus implements DControllerFocus {\n\tprivate _focused: DFocusable | null = null;\n\n\tfocus(focusable: DFocusable | null): DFocusable | null {\n\t\tconst previous = this._focused;\n\t\tif (previous !== focusable) {\n\t\t\tif (previous != null) {\n\t\t\t\tprevious.state.isFocused = false;\n\t\t\t}\n\n\t\t\tthis._focused = focusable;\n\t\t\tif (this.isFocusable(focusable)) {\n\t\t\t\tfocusable.state.isFocused = true;\n\t\t\t}\n\t\t\treturn previous;\n\t\t}\n\t\treturn null;\n\t}\n\n\tblur(focusable: DFocusable | null): DFocusable | null {\n\t\tif (focusable != null && this._focused === focusable) {\n\t\t\tthis._focused = null;\n\t\t\tfocusable.state.isFocused = false;\n\t\t\treturn focusable;\n\t\t}\n\t\treturn null;\n\t}\n\n\tclear(): DFocusable | null {\n\t\treturn this.focus(null);\n\t}\n\n\tset(focusable: DFocusable | null, isFocused: boolean): DFocusable | null {\n\t\tif (isFocused) {\n\t\t\treturn this.focus(focusable);\n\t\t} else {\n\t\t\treturn this.blur(focusable);\n\t\t}\n\t}\n\n\tget(): DFocusable | null {\n\t\treturn this._focused;\n\t}\n\n\tfindParent(mightBeFocusable: DFocusableMightBe | null): DFocusable | null {\n\t\tlet current: DFocusableMightBe | DFocusableContainer | null = mightBeFocusable;\n\t\twhile (current != null) {\n\t\t\tif (this.isFocusable(current)) {\n\t\t\t\treturn current;\n\t\t\t} else {\n\t\t\t\tcurrent = current.parent;\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tfind(\n\t\ttarget: DFocusableMightBe,\n\t\tincludesTarget: boolean,\n\t\tincludesTargetChildren: boolean,\n\t\tdirection: boolean,\n\t\troot?: unknown\n\t): DFocusable | null {\n\t\tif (direction) {\n\t\t\tconst result = this.findNext(target, includesTarget, includesTargetChildren);\n\t\t\tif (result != null) {\n\t\t\t\treturn result;\n\t\t\t}\n\t\t\tif (this.isFocusRoot(target, root)) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\tconst parent = target.parent;\n\t\t\tif (parent != null) {\n\t\t\t\tconst children = parent.children;\n\t\t\t\tconst index = children.indexOf(target);\n\t\t\t\tif (0 <= index) {\n\t\t\t\t\tconst childrenLength = children.length;\n\t\t\t\t\tif (this.isFocusReverse(parent)) {\n\t\t\t\t\t\tfor (let i = index - 1; 0 <= i; --i) {\n\t\t\t\t\t\t\tconst found = this.findNext(children[i], true, true);\n\t\t\t\t\t\t\tif (found != null) {\n\t\t\t\t\t\t\t\treturn found;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!this.isFocusRoot(parent, root)) {\n\t\t\t\t\t\t\tconst found = this.find(parent, false, false, true, root);\n\t\t\t\t\t\t\tif (found != null) {\n\t\t\t\t\t\t\t\treturn found;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tfor (let i = childrenLength - 1; index <= i; --i) {\n\t\t\t\t\t\t\tconst found = this.findNext(children[i], true, true);\n\t\t\t\t\t\t\tif (found != null) {\n\t\t\t\t\t\t\t\treturn found;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tfor (let i = index + 1; i < childrenLength; ++i) {\n\t\t\t\t\t\t\tconst found = this.findNext(children[i], true, true);\n\t\t\t\t\t\t\tif (found != null) {\n\t\t\t\t\t\t\t\treturn found;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!this.isFocusRoot(parent, root)) {\n\t\t\t\t\t\t\tconst found = this.find(parent, false, false, true, root);\n\t\t\t\t\t\t\tif (found != null) {\n\t\t\t\t\t\t\t\treturn found;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tfor (let i = 0; i <= index; ++i) {\n\t\t\t\t\t\t\tconst found = this.findNext(children[i], true, true);\n\t\t\t\t\t\t\tif (found != null) {\n\t\t\t\t\t\t\t\treturn found;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tconst result = this.findPrevious(target, includesTarget, includesTargetChildren);\n\t\t\tif (result != null) {\n\t\t\t\treturn result;\n\t\t\t}\n\n\t\t\tconst parent = target.parent;\n\t\t\tif (parent != null) {\n\t\t\t\tconst children = parent.children;\n\t\t\t\tconst index = children.indexOf(target);\n\t\t\t\tif (0 <= index) {\n\t\t\t\t\tconst childrenLength = children.length;\n\t\t\t\t\tif (this.isFocusReverse(parent)) {\n\t\t\t\t\t\tfor (let i = index + 1; i < childrenLength; ++i) {\n\t\t\t\t\t\t\tconst found = this.findPrevious(children[i], true, true);\n\t\t\t\t\t\t\tif (found != null) {\n\t\t\t\t\t\t\t\treturn found;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!this.isFocusRoot(parent, root)) {\n\t\t\t\t\t\t\tconst found = this.find(parent, true, false, false, root);\n\t\t\t\t\t\t\tif (found != null) {\n\t\t\t\t\t\t\t\treturn found;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tfor (let i = 0; i <= index; ++i) {\n\t\t\t\t\t\t\tconst found = this.findPrevious(children[i], true, true);\n\t\t\t\t\t\t\tif (found != null) {\n\t\t\t\t\t\t\t\treturn found;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tfor (let i = index - 1; 0 <= i; --i) {\n\t\t\t\t\t\t\tconst found = this.findPrevious(children[i], true, true);\n\t\t\t\t\t\t\tif (found != null) {\n\t\t\t\t\t\t\t\treturn found;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!this.isFocusRoot(parent, root)) {\n\t\t\t\t\t\t\tconst found = this.find(parent, true, false, false, root);\n\t\t\t\t\t\t\tif (found != null) {\n\t\t\t\t\t\t\t\treturn found;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tfor (let i = childrenLength - 1; index <= i; --i) {\n\t\t\t\t\t\t\tconst found = this.findPrevious(children[i], true, true);\n\t\t\t\t\t\t\tif (found != null) {\n\t\t\t\t\t\t\t\treturn found;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tprotected findNext(\n\t\ttarget: DFocusableMightBe,\n\t\tincludesTarget: boolean,\n\t\tincludesTargetChildren: boolean\n\t): DFocusable | null {\n\t\t// Target itself\n\t\tif (includesTarget) {\n\t\t\tif (this.isFocusable(target)) {\n\t\t\t\treturn target;\n\t\t\t}\n\t\t}\n\n\t\t// Target children\n\t\tif (includesTargetChildren && this.isFocusableContainer(target) && target.visible) {\n\t\t\tconst children = target.children;\n\t\t\tconst childrenLength = children.length;\n\t\t\tif (this.isFocusReverse(target)) {\n\t\t\t\tfor (let i = childrenLength - 1; 0 <= i; --i) {\n\t\t\t\t\tconst found = this.findNext(children[i], true, true);\n\t\t\t\t\tif (found != null) {\n\t\t\t\t\t\treturn found;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor (let i = 0; i < childrenLength; ++i) {\n\t\t\t\t\tconst found = this.findNext(children[i], true, true);\n\t\t\t\t\tif (found != null) {\n\t\t\t\t\t\treturn found;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Found nothing\n\t\treturn null;\n\t}\n\n\tprotected findPrevious(\n\t\ttarget: DFocusableMightBe,\n\t\tincludesTarget: boolean,\n\t\tincludesTargetChildren: boolean\n\t): DFocusable | null {\n\t\t// Target children\n\t\tif (includesTargetChildren && this.isFocusableContainer(target) && target.visible) {\n\t\t\tconst children = target.children;\n\t\t\tconst childrenLength = children.length;\n\t\t\tif (this.isFocusReverse(target)) {\n\t\t\t\tfor (let i = 0; i < childrenLength; ++i) {\n\t\t\t\t\tconst found = this.findPrevious(children[i], true, true);\n\t\t\t\t\tif (found != null) {\n\t\t\t\t\t\treturn found;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor (let i = childrenLength - 1; 0 <= i; --i) {\n\t\t\t\t\tconst found = this.findPrevious(children[i], true, true);\n\t\t\t\t\tif (found != null) {\n\t\t\t\t\t\treturn found;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Target itself\n\t\tif (includesTarget) {\n\t\t\tif (this.isFocusable(target)) {\n\t\t\t\treturn target;\n\t\t\t}\n\t\t}\n\n\t\t// Found nothing\n\t\treturn null;\n\t}\n\n\tprotected isFocusable(target: any): target is DFocusable {\n\t\treturn (\n\t\t\ttarget != null &&\n\t\t\t\"state\" in target &&\n\t\t\ttarget.state.inEnabled &&\n\t\t\ttarget.state.isFocusable &&\n\t\t\ttarget.visible\n\t\t);\n\t}\n\n\tprotected isFocusableContainer(target: any): target is DFocusableContainer {\n\t\treturn target != null && \"children\" in target;\n\t}\n\n\tprotected isFocusRoot(target: any, root: unknown): target is DFocusable {\n\t\tif (target === root) {\n\t\t\treturn true;\n\t\t}\n\t\treturn target != null && \"state\" in target && target.state.isFocusRoot && target.visible;\n\t}\n\n\tprotected isFocusReverse(target: any): boolean {\n\t\treturn target != null && \"state\" in target && target.state.isFocusReverse;\n\t}\n}\n"]}
|