uicore-ts 1.0.537 → 1.0.551

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.
@@ -65,8 +65,7 @@ class UIRoute extends Array {
65
65
  window.location.replace(this.linkRepresentation);
66
66
  }
67
67
  copy() {
68
- var result = new UIRoute();
69
- result = Object.assign(result, this);
68
+ const result = new UIRoute(this.stringRepresentation);
70
69
  return result;
71
70
  }
72
71
  routeByRemovingComponentsOtherThanOnesNamed(componentNames) {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../scripts/UIRoute.ts"],
4
- "sourcesContent": ["import { IS_NIL, IS_NOT, NO, ValueOf } from \"./UIObject\"\nimport { UIViewController } from \"./UIViewController\"\n\n\nexport type PropType<TObj, TProp extends keyof TObj> = TObj[TProp];\n\nexport type UIRouteParameters<T = any> = {\n \n [key: string]: string;\n \n} | T;\n\n\nexport interface UIRouteComponent<T = any> {\n \n name: string;\n parameters: UIRouteParameters<T>;\n \n}\n\n\nexport class UIRoute extends Array<UIRouteComponent> {\n \n constructor(hash?: string) {\n \n super()\n \n if (!hash || !hash.startsWith) {\n \n return\n \n }\n \n if (hash.startsWith(\"#\")) {\n hash = hash.slice(1)\n }\n \n hash = decodeURIComponent(hash)\n \n const components = hash.split(\"]\")\n components.forEach(component => {\n \n const componentName = component.split(\"[\")[0]\n const parameters: Record<string, string> = {}\n \n if (!componentName) {\n return\n }\n \n const parametersString = component.split(\"[\")[1] || \"\"\n const parameterPairStrings = parametersString.split(\",\") || []\n \n parameterPairStrings.forEach(pairString => {\n \n const keyAndValueArray = pairString.split(\":\")\n const key = decodeURIComponent(keyAndValueArray[0])\n const value = decodeURIComponent(keyAndValueArray[1])\n \n if (key) {\n parameters[key] = value\n }\n \n })\n \n \n this.push({\n name: componentName,\n parameters: parameters\n })\n \n })\n \n \n }\n \n \n static get currentRoute() {\n \n return new UIRoute(window.location.hash)\n \n }\n \n \n \n \n \n apply() {\n \n window.location.hash = this.stringRepresentation\n \n }\n \n \n applyByReplacingCurrentRouteInHistory() {\n \n window.location.replace(this.linkRepresentation)\n \n }\n \n \n \n override copy() {\n var result = new UIRoute()\n result = Object.assign(result, this)\n return result\n }\n \n \n routeByRemovingComponentsOtherThanOnesNamed(componentNames: string[]) {\n const result = this.copy()\n const indexesToRemove: number[] = []\n result.forEach(function (component, index, array) {\n if (!componentNames.contains(component.name)) {\n indexesToRemove.push(index)\n }\n })\n indexesToRemove.forEach(function (indexToRemove, index, array) {\n result.removeElementAtIndex(indexToRemove)\n })\n return result\n }\n \n \n routeByRemovingComponentNamed(componentName: string) {\n const result = this.copy()\n const componentIndex = result.findIndex(function (component, index) {\n return (component.name == componentName)\n })\n if (componentIndex != -1) {\n result.splice(componentIndex, 1)\n }\n return result\n }\n \n \n routeByRemovingParameterInComponent(componentName: string, parameterName: string, removeComponentIfEmpty = NO) {\n let result = this.copy()\n let parameters = result.componentWithName(componentName)?.parameters ?? {}\n delete parameters[parameterName]\n result = result.routeWithComponent(componentName, parameters)\n if (removeComponentIfEmpty && Object.keys(parameters).length == 0) {\n result = result.routeByRemovingComponentNamed(componentName)\n }\n return result\n }\n \n routeBySettingParameterInComponent(componentName: string, parameterName: string, valueToSet: string) {\n let result = this.copy()\n if (IS_NIL(valueToSet) || IS_NIL(parameterName)) {\n return result\n }\n let parameters = result.componentWithName(componentName)?.parameters\n if (IS_NOT(parameters)) {\n parameters = {}\n }\n parameters[parameterName] = valueToSet\n result = result.routeWithComponent(componentName, parameters)\n return result\n }\n \n \n routeWithViewControllerComponent<T extends typeof UIViewController>(\n viewController: T,\n parameters: UIRouteParameters<{ [P in keyof T[\"ParameterIdentifierName\"]]: string }>,\n extendParameters: boolean = NO\n ) {\n \n return this.routeWithComponent(viewController.routeComponentName, parameters, extendParameters)\n \n }\n \n routeWithComponent(name: string, parameters: UIRouteParameters, extendParameters: boolean = NO) {\n \n const result = this.copy()\n let component = result.componentWithName(name)\n if (IS_NOT(component)) {\n component = {\n name: name,\n parameters: {}\n }\n result.push(component)\n }\n \n if (IS_NOT(parameters)) {\n \n parameters = {}\n \n }\n \n if (extendParameters) {\n component.parameters = Object.assign(component.parameters, parameters)\n }\n else {\n component.parameters = parameters\n }\n \n return result\n \n }\n \n navigateBySettingComponent(name: string, parameters: UIRouteParameters, extendParameters: boolean = NO) {\n \n this.routeWithComponent(name, parameters, extendParameters).apply()\n \n }\n \n \n componentWithViewController<T extends typeof UIViewController>(viewController: T): UIRouteComponent<{ [P in ValueOf<T[\"ParameterIdentifierName\"]>]: string }> | undefined {\n \n return this.componentWithName(viewController.routeComponentName)\n \n }\n \n componentWithName(name: string): UIRouteComponent | undefined {\n let result\n this.forEach(function (component, index, self) {\n if (component.name == name) {\n result = component\n }\n })\n return result\n }\n \n \n get linkRepresentation() {\n return \"#\" + this.stringRepresentation\n }\n \n \n get stringRepresentation() {\n \n let result = \"\"\n this.forEach(function (component, index, self) {\n result = result + component.name\n const parameters = component.parameters\n result = result + \"[\"\n Object.keys(parameters).forEach(function (key, index, keys) {\n if (index) {\n result = result + \",\"\n }\n result = result + encodeURIComponent(key) + \":\" + encodeURIComponent(parameters[key])\n })\n result = result + \"]\"\n })\n \n return result\n \n }\n \n \n}\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAA4C;AAqBrC,MAAM,gBAAgB,MAAwB;AAAA,EAEjD,YAAY,MAAe;AAEvB,UAAM;AAEN,QAAI,CAAC,QAAQ,CAAC,KAAK,YAAY;AAE3B;AAAA,IAEJ;AAEA,QAAI,KAAK,WAAW,GAAG,GAAG;AACtB,aAAO,KAAK,MAAM,CAAC;AAAA,IACvB;AAEA,WAAO,mBAAmB,IAAI;AAE9B,UAAM,aAAa,KAAK,MAAM,GAAG;AACjC,eAAW,QAAQ,eAAa;AAE5B,YAAM,gBAAgB,UAAU,MAAM,GAAG,EAAE;AAC3C,YAAM,aAAqC,CAAC;AAE5C,UAAI,CAAC,eAAe;AAChB;AAAA,MACJ;AAEA,YAAM,mBAAmB,UAAU,MAAM,GAAG,EAAE,MAAM;AACpD,YAAM,uBAAuB,iBAAiB,MAAM,GAAG,KAAK,CAAC;AAE7D,2BAAqB,QAAQ,gBAAc;AAEvC,cAAM,mBAAmB,WAAW,MAAM,GAAG;AAC7C,cAAM,MAAM,mBAAmB,iBAAiB,EAAE;AAClD,cAAM,QAAQ,mBAAmB,iBAAiB,EAAE;AAEpD,YAAI,KAAK;AACL,qBAAW,OAAO;AAAA,QACtB;AAAA,MAEJ,CAAC;AAGD,WAAK,KAAK;AAAA,QACN,MAAM;AAAA,QACN;AAAA,MACJ,CAAC;AAAA,IAEL,CAAC;AAAA,EAGL;AAAA,EAGA,WAAW,eAAe;AAEtB,WAAO,IAAI,QAAQ,OAAO,SAAS,IAAI;AAAA,EAE3C;AAAA,EAMA,QAAQ;AAEJ,WAAO,SAAS,OAAO,KAAK;AAAA,EAEhC;AAAA,EAGA,wCAAwC;AAEpC,WAAO,SAAS,QAAQ,KAAK,kBAAkB;AAAA,EAEnD;AAAA,EAIS,OAAO;AACZ,QAAI,SAAS,IAAI,QAAQ;AACzB,aAAS,OAAO,OAAO,QAAQ,IAAI;AACnC,WAAO;AAAA,EACX;AAAA,EAGA,4CAA4C,gBAA0B;AAClE,UAAM,SAAS,KAAK,KAAK;AACzB,UAAM,kBAA4B,CAAC;AACnC,WAAO,QAAQ,SAAU,WAAW,OAAO,OAAO;AAC9C,UAAI,CAAC,eAAe,SAAS,UAAU,IAAI,GAAG;AAC1C,wBAAgB,KAAK,KAAK;AAAA,MAC9B;AAAA,IACJ,CAAC;AACD,oBAAgB,QAAQ,SAAU,eAAe,OAAO,OAAO;AAC3D,aAAO,qBAAqB,aAAa;AAAA,IAC7C,CAAC;AACD,WAAO;AAAA,EACX;AAAA,EAGA,8BAA8B,eAAuB;AACjD,UAAM,SAAS,KAAK,KAAK;AACzB,UAAM,iBAAiB,OAAO,UAAU,SAAU,WAAW,OAAO;AAChE,aAAQ,UAAU,QAAQ;AAAA,IAC9B,CAAC;AACD,QAAI,kBAAkB,IAAI;AACtB,aAAO,OAAO,gBAAgB,CAAC;AAAA,IACnC;AACA,WAAO;AAAA,EACX;AAAA,EAGA,oCAAoC,eAAuB,eAAuB,yBAAyB,oBAAI;AAvInH;AAwIQ,QAAI,SAAS,KAAK,KAAK;AACvB,QAAI,cAAa,kBAAO,kBAAkB,aAAa,MAAtC,mBAAyC,eAAzC,YAAuD,CAAC;AACzE,WAAO,WAAW;AAClB,aAAS,OAAO,mBAAmB,eAAe,UAAU;AAC5D,QAAI,0BAA0B,OAAO,KAAK,UAAU,EAAE,UAAU,GAAG;AAC/D,eAAS,OAAO,8BAA8B,aAAa;AAAA,IAC/D;AACA,WAAO;AAAA,EACX;AAAA,EAEA,mCAAmC,eAAuB,eAAuB,YAAoB;AAlJzG;AAmJQ,QAAI,SAAS,KAAK,KAAK;AACvB,YAAI,wBAAO,UAAU,SAAK,wBAAO,aAAa,GAAG;AAC7C,aAAO;AAAA,IACX;AACA,QAAI,cAAa,YAAO,kBAAkB,aAAa,MAAtC,mBAAyC;AAC1D,YAAI,wBAAO,UAAU,GAAG;AACpB,mBAAa,CAAC;AAAA,IAClB;AACA,eAAW,iBAAiB;AAC5B,aAAS,OAAO,mBAAmB,eAAe,UAAU;AAC5D,WAAO;AAAA,EACX;AAAA,EAGA,iCACI,gBACA,YACA,mBAA4B,oBAC9B;AAEE,WAAO,KAAK,mBAAmB,eAAe,oBAAoB,YAAY,gBAAgB;AAAA,EAElG;AAAA,EAEA,mBAAmB,MAAc,YAA+B,mBAA4B,oBAAI;AAE5F,UAAM,SAAS,KAAK,KAAK;AACzB,QAAI,YAAY,OAAO,kBAAkB,IAAI;AAC7C,YAAI,wBAAO,SAAS,GAAG;AACnB,kBAAY;AAAA,QACR;AAAA,QACA,YAAY,CAAC;AAAA,MACjB;AACA,aAAO,KAAK,SAAS;AAAA,IACzB;AAEA,YAAI,wBAAO,UAAU,GAAG;AAEpB,mBAAa,CAAC;AAAA,IAElB;AAEA,QAAI,kBAAkB;AAClB,gBAAU,aAAa,OAAO,OAAO,UAAU,YAAY,UAAU;AAAA,IACzE,OACK;AACD,gBAAU,aAAa;AAAA,IAC3B;AAEA,WAAO;AAAA,EAEX;AAAA,EAEA,2BAA2B,MAAc,YAA+B,mBAA4B,oBAAI;AAEpG,SAAK,mBAAmB,MAAM,YAAY,gBAAgB,EAAE,MAAM;AAAA,EAEtE;AAAA,EAGA,4BAA+D,gBAA2G;AAEtK,WAAO,KAAK,kBAAkB,eAAe,kBAAkB;AAAA,EAEnE;AAAA,EAEA,kBAAkB,MAA4C;AAC1D,QAAI;AACJ,SAAK,QAAQ,SAAU,WAAW,OAAO,MAAM;AAC3C,UAAI,UAAU,QAAQ,MAAM;AACxB,iBAAS;AAAA,MACb;AAAA,IACJ,CAAC;AACD,WAAO;AAAA,EACX;AAAA,EAGA,IAAI,qBAAqB;AACrB,WAAO,MAAM,KAAK;AAAA,EACtB;AAAA,EAGA,IAAI,uBAAuB;AAEvB,QAAI,SAAS;AACb,SAAK,QAAQ,SAAU,WAAW,OAAO,MAAM;AAC3C,eAAS,SAAS,UAAU;AAC5B,YAAM,aAAa,UAAU;AAC7B,eAAS,SAAS;AAClB,aAAO,KAAK,UAAU,EAAE,QAAQ,SAAU,KAAKA,QAAO,MAAM;AACxD,YAAIA,QAAO;AACP,mBAAS,SAAS;AAAA,QACtB;AACA,iBAAS,SAAS,mBAAmB,GAAG,IAAI,MAAM,mBAAmB,WAAW,IAAI;AAAA,MACxF,CAAC;AACD,eAAS,SAAS;AAAA,IACtB,CAAC;AAED,WAAO;AAAA,EAEX;AAGJ;",
4
+ "sourcesContent": ["import { IS_NIL, IS_NOT, NO, ValueOf } from \"./UIObject\"\nimport { UIViewController } from \"./UIViewController\"\n\n\nexport type PropType<TObj, TProp extends keyof TObj> = TObj[TProp];\n\nexport type UIRouteParameters<T = any> = {\n \n [key: string]: string;\n \n} | T;\n\n\nexport interface UIRouteComponent<T = any> {\n \n name: string;\n parameters: UIRouteParameters<T>;\n \n}\n\n\nexport class UIRoute extends Array<UIRouteComponent> {\n \n constructor(hash?: string) {\n \n super()\n \n if (!hash || !hash.startsWith) {\n \n return\n \n }\n \n if (hash.startsWith(\"#\")) {\n hash = hash.slice(1)\n }\n \n hash = decodeURIComponent(hash)\n \n const components = hash.split(\"]\")\n components.forEach(component => {\n \n const componentName = component.split(\"[\")[0]\n const parameters: Record<string, string> = {}\n \n if (!componentName) {\n return\n }\n \n const parametersString = component.split(\"[\")[1] || \"\"\n const parameterPairStrings = parametersString.split(\",\") || []\n \n parameterPairStrings.forEach(pairString => {\n \n const keyAndValueArray = pairString.split(\":\")\n const key = decodeURIComponent(keyAndValueArray[0])\n const value = decodeURIComponent(keyAndValueArray[1])\n \n if (key) {\n parameters[key] = value\n }\n \n })\n \n \n this.push({\n name: componentName,\n parameters: parameters\n })\n \n })\n \n \n }\n \n \n static get currentRoute() {\n \n return new UIRoute(window.location.hash)\n \n }\n \n \n \n \n \n apply() {\n \n window.location.hash = this.stringRepresentation\n \n }\n \n \n applyByReplacingCurrentRouteInHistory() {\n \n window.location.replace(this.linkRepresentation)\n \n }\n \n \n \n override copy() {\n const result = new UIRoute(this.stringRepresentation)\n return result\n }\n \n \n routeByRemovingComponentsOtherThanOnesNamed(componentNames: string[]) {\n const result = this.copy()\n const indexesToRemove: number[] = []\n result.forEach(function (component, index, array) {\n if (!componentNames.contains(component.name)) {\n indexesToRemove.push(index)\n }\n })\n indexesToRemove.forEach(function (indexToRemove, index, array) {\n result.removeElementAtIndex(indexToRemove)\n })\n return result\n }\n \n \n routeByRemovingComponentNamed(componentName: string) {\n const result = this.copy()\n const componentIndex = result.findIndex(function (component, index) {\n return (component.name == componentName)\n })\n if (componentIndex != -1) {\n result.splice(componentIndex, 1)\n }\n return result\n }\n \n \n routeByRemovingParameterInComponent(componentName: string, parameterName: string, removeComponentIfEmpty = NO) {\n let result = this.copy()\n let parameters = result.componentWithName(componentName)?.parameters ?? {}\n delete parameters[parameterName]\n result = result.routeWithComponent(componentName, parameters)\n if (removeComponentIfEmpty && Object.keys(parameters).length == 0) {\n result = result.routeByRemovingComponentNamed(componentName)\n }\n return result\n }\n \n routeBySettingParameterInComponent(componentName: string, parameterName: string, valueToSet: string) {\n let result = this.copy()\n if (IS_NIL(valueToSet) || IS_NIL(parameterName)) {\n return result\n }\n let parameters = result.componentWithName(componentName)?.parameters\n if (IS_NOT(parameters)) {\n parameters = {}\n }\n parameters[parameterName] = valueToSet\n result = result.routeWithComponent(componentName, parameters)\n return result\n }\n \n \n routeWithViewControllerComponent<T extends typeof UIViewController>(\n viewController: T,\n parameters: UIRouteParameters<{ [P in keyof T[\"ParameterIdentifierName\"]]: string }>,\n extendParameters: boolean = NO\n ) {\n \n return this.routeWithComponent(viewController.routeComponentName, parameters, extendParameters)\n \n }\n \n routeWithComponent(name: string, parameters: UIRouteParameters, extendParameters: boolean = NO) {\n \n const result = this.copy()\n let component = result.componentWithName(name)\n if (IS_NOT(component)) {\n component = {\n name: name,\n parameters: {}\n }\n result.push(component)\n }\n \n if (IS_NOT(parameters)) {\n \n parameters = {}\n \n }\n \n if (extendParameters) {\n component.parameters = Object.assign(component.parameters, parameters)\n }\n else {\n component.parameters = parameters\n }\n \n return result\n \n }\n \n navigateBySettingComponent(name: string, parameters: UIRouteParameters, extendParameters: boolean = NO) {\n \n this.routeWithComponent(name, parameters, extendParameters).apply()\n \n }\n \n \n componentWithViewController<T extends typeof UIViewController>(viewController: T): UIRouteComponent<{ [P in ValueOf<T[\"ParameterIdentifierName\"]>]: string }> | undefined {\n \n return this.componentWithName(viewController.routeComponentName)\n \n }\n \n componentWithName(name: string): UIRouteComponent | undefined {\n let result\n this.forEach(function (component, index, self) {\n if (component.name == name) {\n result = component\n }\n })\n return result\n }\n \n \n get linkRepresentation() {\n return \"#\" + this.stringRepresentation\n }\n \n \n get stringRepresentation() {\n \n let result = \"\"\n this.forEach(function (component, index, self) {\n result = result + component.name\n const parameters = component.parameters\n result = result + \"[\"\n Object.keys(parameters).forEach(function (key, index, keys) {\n if (index) {\n result = result + \",\"\n }\n result = result + encodeURIComponent(key) + \":\" + encodeURIComponent(parameters[key])\n })\n result = result + \"]\"\n })\n \n return result\n \n }\n \n \n}\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"],
5
+ "mappings": "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",
6
6
  "names": ["index"]
7
7
  }
@@ -151,9 +151,9 @@ class UIViewController extends import_UIObject.UIObject {
151
151
  controller.viewWillAppear();
152
152
  this.addChildViewController(controller);
153
153
  containerView.addSubview(controller.view);
154
+ controller.handleRouteRecursively(import_UIRoute.UIRoute.currentRoute);
154
155
  controller.didMoveToParentViewController(this);
155
156
  controller.viewDidAppear();
156
- controller.handleRouteRecursively(import_UIRoute.UIRoute.currentRoute);
157
157
  }
158
158
  addChildViewControllerInDialogView(controller, dialogView) {
159
159
  controller = (0, import_UIObject.FIRST_OR_NIL)(controller);
@@ -166,9 +166,9 @@ class UIViewController extends import_UIObject.UIObject {
166
166
  originalDismissFunction(animated);
167
167
  this.removeChildViewController(controller);
168
168
  };
169
+ controller.handleRouteRecursively(import_UIRoute.UIRoute.currentRoute);
169
170
  controller.didMoveToParentViewController(this);
170
171
  controller.viewDidAppear();
171
- controller.handleRouteRecursively(import_UIRoute.UIRoute.currentRoute);
172
172
  }
173
173
  }
174
174
  // Annotate the CommonJS export names for ESM import in node:
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../scripts/UIViewController.ts"],
4
- "sourcesContent": ["import { UIDialogView } from \"./UIDialogView\"\nimport { FIRST_OR_NIL, IS, nil, NO, UIObject, YES } from \"./UIObject\"\nimport { UIRoute } from \"./UIRoute\"\nimport { UIView, UIViewBroadcastEvent } from \"./UIView\"\n\n\nexport class UIViewController extends UIObject {\n \n \n parentViewController?: UIViewController\n childViewControllers: UIViewController[] = []\n static readonly routeComponentName: string\n static readonly ParameterIdentifierName: any\n \n constructor(public view: UIView) {\n \n super()\n \n this.view.viewController = this\n \n }\n \n \n handleRouteRecursively(route: UIRoute) {\n \n this.handleRoute(route)\n \n this.childViewControllers.forEach(controller => {\n \n controller.handleRouteRecursively(route)\n \n })\n \n }\n \n async handleRoute(route: UIRoute) {\n \n \n }\n \n \n async viewWillAppear() {\n \n \n }\n \n \n async viewDidAppear() {\n \n \n }\n \n \n async viewWillDisappear() {\n \n \n }\n \n async viewDidDisappear() {\n \n \n }\n \n \n updateViewConstraints() {\n \n \n }\n \n updateViewStyles() {\n \n \n }\n \n layoutViewSubviews() {\n \n \n }\n \n _triggerLayoutViewSubviews() {\n \n if (this.view.needsLayout) {\n \n this.view.layoutSubviews()\n \n this.viewDidLayoutSubviews()\n \n }\n \n }\n \n viewWillLayoutSubviews() {\n \n this.updateViewConstraints()\n this.updateViewStyles()\n \n }\n \n viewDidLayoutSubviews() {\n \n // this.childViewControllers.forEach(function (controller, index, controllers) {\n \n // controller._layoutViewSubviews();\n \n // })\n \n \n }\n \n \n viewDidReceiveBroadcastEvent(event: UIViewBroadcastEvent) {\n \n \n }\n \n \n get core() {\n return this.view.core\n }\n \n hasChildViewController(viewController: UIViewController) {\n \n // This is for performance reasons\n if (!IS(viewController)) {\n return NO\n }\n \n for (let i = 0; i < this.childViewControllers.length; i++) {\n \n const childViewController = this.childViewControllers[i]\n \n if (childViewController == viewController) {\n return YES\n }\n \n }\n \n return NO\n \n }\n \n addChildViewController(viewController: UIViewController) {\n if (!this.hasChildViewController(viewController)) {\n viewController.willMoveToParentViewController(this)\n this.childViewControllers.push(viewController)\n this.view.addSubview(viewController.view)\n viewController.didMoveToParentViewController(this)\n }\n }\n \n \n removeFromParentViewController() {\n \n this.parentViewController?.removeChildViewController(this)\n \n }\n \n willMoveToParentViewController(parentViewController: UIViewController) {\n \n }\n \n \n didMoveToParentViewController(parentViewController: UIViewController) {\n \n this.parentViewController = parentViewController\n \n }\n \n removeChildViewController(controller: UIViewController) {\n \n controller = FIRST_OR_NIL(controller)\n controller.viewWillDisappear()\n if (IS(controller.parentViewController)) {\n \n const index = this.parentViewController?.childViewControllers.indexOf(this) ?? -1\n if (index > -1) {\n this.parentViewController?.childViewControllers.splice(index, 1)\n this.view.removeFromSuperview()\n this.parentViewController = undefined\n }\n \n }\n if (IS(controller.view)) {\n controller.view.removeFromSuperview()\n }\n controller.viewDidDisappear()\n \n }\n \n \n addChildViewControllerInContainer(controller: UIViewController, containerView: UIView) {\n \n controller = FIRST_OR_NIL(controller)\n containerView = FIRST_OR_NIL(containerView)\n controller.viewWillAppear()\n this.addChildViewController(controller)\n containerView.addSubview(controller.view)\n controller.didMoveToParentViewController(this)\n controller.viewDidAppear()\n \n controller.handleRouteRecursively(UIRoute.currentRoute)\n \n }\n \n addChildViewControllerInDialogView(controller: UIViewController, dialogView: UIDialogView) {\n \n controller = FIRST_OR_NIL(controller)\n dialogView = FIRST_OR_NIL(dialogView)\n controller.viewWillAppear()\n this.addChildViewController(controller)\n dialogView.view = controller.view\n \n const originalDismissFunction = dialogView.dismiss.bind(dialogView)\n \n dialogView.dismiss = animated => {\n \n originalDismissFunction(animated)\n \n this.removeChildViewController(controller)\n \n }\n \n controller.didMoveToParentViewController(this)\n controller.viewDidAppear()\n \n controller.handleRouteRecursively(UIRoute.currentRoute)\n \n }\n \n \n}\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { UIDialogView } from \"./UIDialogView\"\nimport { FIRST_OR_NIL, IS, nil, NO, UIObject, YES } from \"./UIObject\"\nimport { UIRoute } from \"./UIRoute\"\nimport { UIView, UIViewBroadcastEvent } from \"./UIView\"\n\n\nexport class UIViewController extends UIObject {\n \n \n parentViewController?: UIViewController\n childViewControllers: UIViewController[] = []\n static readonly routeComponentName: string\n static readonly ParameterIdentifierName: any\n \n constructor(public view: UIView) {\n \n super()\n \n this.view.viewController = this\n \n }\n \n \n handleRouteRecursively(route: UIRoute) {\n \n this.handleRoute(route)\n \n this.childViewControllers.forEach(controller => {\n \n controller.handleRouteRecursively(route)\n \n })\n \n }\n \n async handleRoute(route: UIRoute) {\n \n \n }\n \n \n async viewWillAppear() {\n \n \n }\n \n \n async viewDidAppear() {\n \n \n }\n \n \n async viewWillDisappear() {\n \n \n }\n \n async viewDidDisappear() {\n \n \n }\n \n \n updateViewConstraints() {\n \n \n }\n \n updateViewStyles() {\n \n \n }\n \n layoutViewSubviews() {\n \n \n }\n \n _triggerLayoutViewSubviews() {\n \n if (this.view.needsLayout) {\n \n this.view.layoutSubviews()\n \n this.viewDidLayoutSubviews()\n \n }\n \n }\n \n viewWillLayoutSubviews() {\n \n this.updateViewConstraints()\n this.updateViewStyles()\n \n }\n \n viewDidLayoutSubviews() {\n \n // this.childViewControllers.forEach(function (controller, index, controllers) {\n \n // controller._layoutViewSubviews();\n \n // })\n \n \n }\n \n \n viewDidReceiveBroadcastEvent(event: UIViewBroadcastEvent) {\n \n \n }\n \n \n get core() {\n return this.view.core\n }\n \n hasChildViewController(viewController: UIViewController) {\n \n // This is for performance reasons\n if (!IS(viewController)) {\n return NO\n }\n \n for (let i = 0; i < this.childViewControllers.length; i++) {\n \n const childViewController = this.childViewControllers[i]\n \n if (childViewController == viewController) {\n return YES\n }\n \n }\n \n return NO\n \n }\n \n addChildViewController(viewController: UIViewController) {\n if (!this.hasChildViewController(viewController)) {\n viewController.willMoveToParentViewController(this)\n this.childViewControllers.push(viewController)\n this.view.addSubview(viewController.view)\n viewController.didMoveToParentViewController(this)\n }\n }\n \n \n removeFromParentViewController() {\n \n this.parentViewController?.removeChildViewController(this)\n \n }\n \n willMoveToParentViewController(parentViewController: UIViewController) {\n \n }\n \n \n didMoveToParentViewController(parentViewController: UIViewController) {\n \n this.parentViewController = parentViewController\n \n }\n \n removeChildViewController(controller: UIViewController) {\n \n controller = FIRST_OR_NIL(controller)\n controller.viewWillDisappear()\n if (IS(controller.parentViewController)) {\n \n const index = this.parentViewController?.childViewControllers.indexOf(this) ?? -1\n if (index > -1) {\n this.parentViewController?.childViewControllers.splice(index, 1)\n this.view.removeFromSuperview()\n this.parentViewController = undefined\n }\n \n }\n if (IS(controller.view)) {\n controller.view.removeFromSuperview()\n }\n controller.viewDidDisappear()\n \n }\n \n \n addChildViewControllerInContainer(controller: UIViewController, containerView: UIView) {\n \n controller = FIRST_OR_NIL(controller)\n containerView = FIRST_OR_NIL(containerView)\n controller.viewWillAppear()\n this.addChildViewController(controller)\n containerView.addSubview(controller.view)\n \n controller.handleRouteRecursively(UIRoute.currentRoute)\n \n controller.didMoveToParentViewController(this)\n controller.viewDidAppear()\n \n \n }\n \n addChildViewControllerInDialogView(controller: UIViewController, dialogView: UIDialogView) {\n \n controller = FIRST_OR_NIL(controller)\n dialogView = FIRST_OR_NIL(dialogView)\n controller.viewWillAppear()\n this.addChildViewController(controller)\n dialogView.view = controller.view\n \n const originalDismissFunction = dialogView.dismiss.bind(dialogView)\n \n dialogView.dismiss = animated => {\n \n originalDismissFunction(animated)\n \n this.removeChildViewController(controller)\n \n }\n \n controller.handleRouteRecursively(UIRoute.currentRoute)\n \n controller.didMoveToParentViewController(this)\n controller.viewDidAppear()\n \n }\n \n \n}\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "uicore-ts",
3
- "version": "1.0.537",
3
+ "version": "1.0.551",
4
4
  "description": "UICore is a library to build native-like user interfaces using pure Typescript. No HTML is needed at all. Components are described as TS classes and all user interactions are handled explicitly. This library is strongly inspired by the UIKit framework that is used in IOS. In addition, UICore has tools to handle URL based routing, array sorting and filtering and adds a number of other utilities for convenience.",
5
5
  "main": "compiledScripts/index.js",
6
6
  "types": "compiledScripts/index.d.ts",
@@ -100,8 +100,7 @@ export class UIRoute extends Array<UIRouteComponent> {
100
100
 
101
101
 
102
102
  override copy() {
103
- var result = new UIRoute()
104
- result = Object.assign(result, this)
103
+ const result = new UIRoute(this.stringRepresentation)
105
104
  return result
106
105
  }
107
106
 
@@ -195,10 +195,12 @@ export class UIViewController extends UIObject {
195
195
  controller.viewWillAppear()
196
196
  this.addChildViewController(controller)
197
197
  containerView.addSubview(controller.view)
198
+
199
+ controller.handleRouteRecursively(UIRoute.currentRoute)
200
+
198
201
  controller.didMoveToParentViewController(this)
199
202
  controller.viewDidAppear()
200
203
 
201
- controller.handleRouteRecursively(UIRoute.currentRoute)
202
204
 
203
205
  }
204
206
 
@@ -220,10 +222,10 @@ export class UIViewController extends UIObject {
220
222
 
221
223
  }
222
224
 
225
+ controller.handleRouteRecursively(UIRoute.currentRoute)
226
+
223
227
  controller.didMoveToParentViewController(this)
224
228
  controller.viewDidAppear()
225
-
226
- controller.handleRouteRecursively(UIRoute.currentRoute)
227
229
 
228
230
  }
229
231