@limetech/limepkg-cpq-order 2.8.0-dev.1

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.
Files changed (51) hide show
  1. package/README.md +78 -0
  2. package/dist/index.cjs.js +1 -0
  3. package/dist/types/classes/base.d.ts +27 -0
  4. package/dist/types/classes/deal.d.ts +7 -0
  5. package/dist/types/classes/index.d.ts +3 -0
  6. package/dist/types/classes/item.d.ts +32 -0
  7. package/dist/types/classes/number.d.ts +3 -0
  8. package/dist/types/classes/order.d.ts +10 -0
  9. package/dist/types/components/article-selector/article-group-picker.d.ts +25 -0
  10. package/dist/types/components/article-selector/article-picker.d.ts +25 -0
  11. package/dist/types/components/article-selector/article-selector.d.ts +35 -0
  12. package/dist/types/components/article-selector-layout/article-selector-layout.d.ts +3 -0
  13. package/dist/types/components/cpq-tab/cpq-tab.d.ts +27 -0
  14. package/dist/types/components/deal-view/deal-view.d.ts +30 -0
  15. package/dist/types/components/dynamic-properties/dynamic-properties.d.ts +23 -0
  16. package/dist/types/components/edit-item-dialog/edit-item-dialog.d.ts +52 -0
  17. package/dist/types/components/erp-status/erp-status.d.ts +20 -0
  18. package/dist/types/components/erp-status/flow-items.d.ts +9 -0
  19. package/dist/types/components/item-form/item-form.d.ts +130 -0
  20. package/dist/types/components/item-summary/item-summary.d.ts +20 -0
  21. package/dist/types/components/item-table/item-table.d.ts +23 -0
  22. package/dist/types/components/loader/coc-loader.d.ts +19 -0
  23. package/dist/types/components/new-order-dialog/new-order-dialog.d.ts +26 -0
  24. package/dist/types/components/order-card/order-card.d.ts +22 -0
  25. package/dist/types/components/order-view/order-view.d.ts +30 -0
  26. package/dist/types/components/template-selector/template-selector.d.ts +25 -0
  27. package/dist/types/components.d.ts +723 -0
  28. package/dist/types/index.d.ts +2 -0
  29. package/dist/types/interface.d.ts +6 -0
  30. package/dist/types/interfaces/article-selector.d.ts +23 -0
  31. package/dist/types/interfaces/config.d.ts +106 -0
  32. package/dist/types/interfaces/index.d.ts +3 -0
  33. package/dist/types/interfaces/objects.d.ts +73 -0
  34. package/dist/types/services/article.d.ts +7 -0
  35. package/dist/types/services/deal.d.ts +5 -0
  36. package/dist/types/services/documenttemplate.service.interface.d.ts +142 -0
  37. package/dist/types/services/index.d.ts +8 -0
  38. package/dist/types/services/item.d.ts +6 -0
  39. package/dist/types/services/limetype.d.ts +4 -0
  40. package/dist/types/services/notification.d.ts +3 -0
  41. package/dist/types/services/order.d.ts +6 -0
  42. package/dist/types/services/servercommand.service.interface.d.ts +36 -0
  43. package/dist/types/services/template.d.ts +4 -0
  44. package/dist/types/services/translate.d.ts +2 -0
  45. package/dist/types/stencil-public-runtime.d.ts +1565 -0
  46. package/dist/types/testing/config.d.ts +2 -0
  47. package/dist/types/testing/index.d.ts +4 -0
  48. package/dist/types/testing/limetype.d.ts +3 -0
  49. package/dist/types/testing/schema.d.ts +33 -0
  50. package/dist/types/testing/views.d.ts +140 -0
  51. package/package.json +61 -0
package/README.md ADDED
@@ -0,0 +1,78 @@
1
+ # Stencil Component Starter
2
+
3
+ ![Built With Stencil](https://img.shields.io/badge/-Built%20With%20Stencil-16161d.svg?logo=data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDE5LjIuMSwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA1MTIgNTEyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI%2BCjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI%2BCgkuc3Qwe2ZpbGw6I0ZGRkZGRjt9Cjwvc3R5bGU%2BCjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik00MjQuNywzNzMuOWMwLDM3LjYtNTUuMSw2OC42LTkyLjcsNjguNkgxODAuNGMtMzcuOSwwLTkyLjctMzAuNy05Mi43LTY4LjZ2LTMuNmgzMzYuOVYzNzMuOXoiLz4KPHBhdGggY2xhc3M9InN0MCIgZD0iTTQyNC43LDI5Mi4xSDE4MC40Yy0zNy42LDAtOTIuNy0zMS05Mi43LTY4LjZ2LTMuNkgzMzJjMzcuNiwwLDkyLjcsMzEsOTIuNyw2OC42VjI5Mi4xeiIvPgo8cGF0aCBjbGFzcz0ic3QwIiBkPSJNNDI0LjcsMTQxLjdIODcuN3YtMy42YzAtMzcuNiw1NC44LTY4LjYsOTIuNy02OC42SDMzMmMzNy45LDAsOTIuNywzMC43LDkyLjcsNjguNlYxNDEuN3oiLz4KPC9zdmc%2BCg%3D%3D&colorA=16161d&style=flat-square)
4
+
5
+ This is a starter project for building a standalone Web Component using Stencil.
6
+
7
+ Stencil is also great for building entire apps. For that, use the [stencil-app-starter](https://github.com/ionic-team/stencil-app-starter) instead.
8
+
9
+ ## Stencil
10
+
11
+ Stencil is a compiler for building fast web apps using Web Components.
12
+
13
+ Stencil combines the best concepts of the most popular frontend frameworks into a compile-time rather than run-time tool. Stencil takes TypeScript, JSX, a tiny virtual DOM layer, efficient one-way data binding, an asynchronous rendering pipeline (similar to React Fiber), and lazy-loading out of the box, and generates 100% standards-based Web Components that run in any browser supporting the Custom Elements v1 spec.
14
+
15
+ Stencil components are just Web Components, so they work in any major framework or with no framework at all.
16
+
17
+ ## Getting Started
18
+
19
+ To start building a new web component using Stencil, clone this repo to a new directory:
20
+
21
+ ```bash
22
+ git clone https://github.com/ionic-team/stencil-component-starter.git my-component
23
+ cd my-component
24
+ git remote rm origin
25
+ ```
26
+
27
+ and run:
28
+
29
+ ```bash
30
+ npm install
31
+ npm start
32
+ ```
33
+
34
+ To watch for file changes during develop, run:
35
+
36
+ ```bash
37
+ npm run dev
38
+ ```
39
+
40
+ To build the component for production, run:
41
+
42
+ ```bash
43
+ npm run build
44
+ ```
45
+
46
+ To run the unit tests for the components, run:
47
+
48
+ ```bash
49
+ npm test
50
+ ```
51
+
52
+ Need help? Check out our docs [here](https://stenciljs.com/docs/my-first-component).
53
+
54
+ ## Naming Components
55
+
56
+ When creating new component tags, we recommend _not_ using `stencil` in the component name (ex: `<stencil-datepicker>`). This is because the generated component has little to nothing to do with Stencil; it's just a web component!
57
+
58
+ Instead, use a prefix that fits your company or any name for a group of related components. For example, all of the Ionic generated web components use the prefix `ion`.
59
+
60
+ ## Using this component
61
+
62
+ ### Script tag
63
+
64
+ - [Publish to NPM](https://docs.npmjs.com/getting-started/publishing-npm-packages)
65
+ - Put a script tag similar to this `<script src='https://unpkg.com/my-component@0.0.1/dist/mycomponent.js'></script>` in the head of your index.html
66
+ - Then you can use the element anywhere in your template, JSX, html etc
67
+
68
+ ### Node Modules
69
+
70
+ - Run `npm install my-component --save`
71
+ - Put a script tag similar to this `<script src='node_modules/my-component/dist/mycomponent.js'></script>` in the head of your index.html
72
+ - Then you can use the element anywhere in your template, JSX, html etc
73
+
74
+ ### In a stencil-starter app
75
+
76
+ - Run `npm install my-component --save`
77
+ - Add an import to the npm packages `import my-component;`
78
+ - Then you can use the element anywhere in your template, JSX, html etc
@@ -0,0 +1 @@
1
+ module.exports = require('./cjs/index.cjs.js');
@@ -0,0 +1,27 @@
1
+ import { LimeObject } from '@limetech/lime-web-components';
2
+ import { Iconfig, IconfigBaseMapping } from 'src/interfaces';
3
+ import { Item } from './item';
4
+ export declare abstract class Base {
5
+ id: number;
6
+ items: Item[];
7
+ protected properties: Record<string, any>;
8
+ protected _dirtyProperties: string[];
9
+ protected _config: Iconfig;
10
+ constructor(config: Iconfig);
11
+ get config(): Iconfig;
12
+ get mapping(): IconfigBaseMapping;
13
+ get limetype(): string;
14
+ get dynamicProperties(): Record<string, any>;
15
+ getProperty(name: string): any;
16
+ setProperty(name: string, value: any): void;
17
+ setProperties(properties: Record<string, any>): void;
18
+ setPropertiesFromLimeobject(limeobject: LimeObject): void;
19
+ get dirtyProperties(): Record<string, any>;
20
+ get currency(): string;
21
+ set currency(value: string);
22
+ get subtotal(): number;
23
+ get discount(): number;
24
+ get total(): number;
25
+ get vat(): number;
26
+ get totalInclVat(): number;
27
+ }
@@ -0,0 +1,7 @@
1
+ import { IconfigDealMapping, Ideal } from '../interfaces';
2
+ import { Base } from './base';
3
+ export declare class Deal extends Base implements Ideal {
4
+ get mapping(): IconfigDealMapping;
5
+ get name(): string;
6
+ set name(value: string);
7
+ }
@@ -0,0 +1,3 @@
1
+ export * from './deal';
2
+ export * from './item';
3
+ export * from './order';
@@ -0,0 +1,32 @@
1
+ import { Iarticle, Iitem, DiscountClasses, IarticleGroup } from '../interfaces';
2
+ export declare class Item implements Iitem {
3
+ id: number;
4
+ articleGroup?: IarticleGroup;
5
+ article?: Iarticle;
6
+ articleno?: string;
7
+ description: string;
8
+ position: number;
9
+ vat: number;
10
+ unit: string;
11
+ pricePerUnit: number;
12
+ discountPerUnit: number;
13
+ discountPercent: number;
14
+ discountClass: DiscountClasses;
15
+ costPrice: number;
16
+ grossMarginRatio: number;
17
+ quantity: number;
18
+ subtotal: number;
19
+ discount: number;
20
+ total: number;
21
+ guid?: string;
22
+ deleted: boolean;
23
+ additionalProperties: {};
24
+ constructor(props?: Iitem);
25
+ get totalVat(): number;
26
+ get discountedPricePerUnit(): number;
27
+ private calculateDiscountPerUnit;
28
+ private calculateTotalDiscount;
29
+ private calculateGrossMarginRatio;
30
+ private calculateSubtotal;
31
+ private update;
32
+ }
@@ -0,0 +1,3 @@
1
+ export declare function formatNumber(value: number): string;
2
+ export declare function formatNumberNoZeros(value: number): string;
3
+ export declare function formatPercentNoZeros(value: number): string;
@@ -0,0 +1,10 @@
1
+ import { Iorder, ErpStatus, Iconfig, IconfigOrderMapping } from '../interfaces';
2
+ import { Base } from './base';
3
+ export declare class Order extends Base implements Iorder {
4
+ constructor(config: Iconfig);
5
+ get mapping(): IconfigOrderMapping;
6
+ get deal(): number;
7
+ set deal(value: number);
8
+ get orderstatus(): ErpStatus;
9
+ set orderstatus(value: ErpStatus);
10
+ }
@@ -0,0 +1,25 @@
1
+ import { LimeWebComponent, LimeWebComponentContext, LimeWebComponentPlatform, Translator } from '@limetech/lime-web-components';
2
+ import { EventEmitter } from '../../stencil-public-runtime';
3
+ import { Iconfig, IarticleGroup } from '../../interfaces';
4
+ export declare class ArticleGroupPicker implements LimeWebComponent {
5
+ /**
6
+ * @inherit
7
+ */
8
+ platform: LimeWebComponentPlatform;
9
+ /**
10
+ * @inherit
11
+ */
12
+ context: LimeWebComponentContext;
13
+ config?: Iconfig;
14
+ label: string;
15
+ selectedArticleGroup: IarticleGroup | null;
16
+ articleGroupChange: EventEmitter<IarticleGroup | null>;
17
+ private articleGroups;
18
+ get translate(): Translator;
19
+ componentWillLoad(): Promise<void>;
20
+ private mapArticleGroupToListItem;
21
+ private mapListItemToArticleGroup;
22
+ private searchArticleGroup;
23
+ private handleArticleGroupChange;
24
+ render(): any;
25
+ }
@@ -0,0 +1,25 @@
1
+ import { LimeWebComponent, LimeWebComponentContext, LimeWebComponentPlatform } from '@limetech/lime-web-components';
2
+ import { EventEmitter } from '../../stencil-public-runtime';
3
+ import { Iconfig, Iarticle, IarticleGroup } from '../../interfaces';
4
+ export declare class ArticlePicker implements LimeWebComponent {
5
+ /**
6
+ * @inherit
7
+ */
8
+ platform: LimeWebComponentPlatform;
9
+ /**
10
+ * @inherit
11
+ */
12
+ context: LimeWebComponentContext;
13
+ config?: Iconfig;
14
+ label: string;
15
+ selectedArticle: Iarticle | null;
16
+ selectedArticleGroup: IarticleGroup | null;
17
+ articleChange: EventEmitter<Iarticle | null>;
18
+ private articles;
19
+ private articleConfig;
20
+ componentWillLoad(): void;
21
+ private mapArticleToListItem;
22
+ private searchArticle;
23
+ private handleArticleChange;
24
+ render(): any;
25
+ }
@@ -0,0 +1,35 @@
1
+ import { LimeProperty, LimeWebComponent, LimeWebComponentContext, LimeWebComponentPlatform } from '@limetech/lime-web-components';
2
+ import { EventEmitter } from '../../stencil-public-runtime';
3
+ import { Iarticle, IarticleGroup, Iitem, ArticleSelectorComponent } from '../../interfaces';
4
+ export declare class ArticleSelector implements LimeWebComponent, ArticleSelectorComponent {
5
+ /**
6
+ * @inherit
7
+ */
8
+ platform: LimeWebComponentPlatform;
9
+ /**
10
+ * @inherit
11
+ */
12
+ context: LimeWebComponentContext;
13
+ /**
14
+ * The article group relation for the item
15
+ */
16
+ articleGroupProperty?: LimeProperty;
17
+ /**
18
+ * The article relation for the item
19
+ */
20
+ articleProperty?: LimeProperty;
21
+ item: Iitem;
22
+ articleChange: EventEmitter<Iarticle | null>;
23
+ private config;
24
+ private selectedArticle;
25
+ private get selectedArticleGroup();
26
+ componentWillLoad(): Promise<void>;
27
+ itemChanged(): void;
28
+ private setSelectors;
29
+ delegatedArticleGroupChange(event: CustomEvent<IarticleGroup | null>): void;
30
+ private handleArticleGroupChange;
31
+ private handleArticleChange;
32
+ private renderArticleGroupPicker;
33
+ private renderArticlePicker;
34
+ render(): any;
35
+ }
@@ -0,0 +1,3 @@
1
+ export declare class ArticleSelectorLayout {
2
+ render(): any;
3
+ }
@@ -0,0 +1,27 @@
1
+ import { LimeWebComponent, LimeWebComponentContext, LimeWebComponentPlatform } from '@limetech/lime-web-components';
2
+ export declare class CpqTab implements LimeWebComponent {
3
+ /**
4
+ * @inherit
5
+ */
6
+ platform: LimeWebComponentPlatform;
7
+ /**
8
+ * @inherit
9
+ */
10
+ context: LimeWebComponentContext;
11
+ private currentLimeobject;
12
+ private config;
13
+ private allConfig;
14
+ private documentConfig;
15
+ private deal;
16
+ private limetypes;
17
+ private documentTemplateService;
18
+ configUpdate(): Promise<void>;
19
+ limeobjectUpdate(): void;
20
+ componentWillLoad(): void;
21
+ private setup;
22
+ render(): any;
23
+ private handleItemsChange;
24
+ private handlePropertiesChange;
25
+ private handleTemplateSelected;
26
+ private attachLimetypes;
27
+ }
@@ -0,0 +1,30 @@
1
+ import { LimeWebComponent, LimeWebComponentContext, LimeWebComponentPlatform, Translator, DialogRenderer } from '@limetech/lime-web-components';
2
+ import { EventEmitter } from '../../stencil-public-runtime';
3
+ import { Deal, Item } from '../../classes';
4
+ import { Iconfig } from '../../interfaces';
5
+ export declare class DealView implements LimeWebComponent {
6
+ /**
7
+ * @inherit
8
+ */
9
+ platform: LimeWebComponentPlatform;
10
+ /**
11
+ * @inherit
12
+ */
13
+ context: LimeWebComponentContext;
14
+ deal: Deal;
15
+ config: Iconfig;
16
+ disabled: boolean;
17
+ private activeItem;
18
+ itemsChange: EventEmitter<Deal>;
19
+ private editMode;
20
+ private editDialogId;
21
+ get translate(): Translator;
22
+ get dialog(): DialogRenderer;
23
+ render(): any[];
24
+ activateRowHandler(event: CustomEvent<any>): void;
25
+ closeDialogHandler: () => void;
26
+ updateItemHandler: (event: CustomEvent<Item>) => void;
27
+ newItemHandler: (event: CustomEvent<Item>) => void;
28
+ private buttonNewItemClickHandler;
29
+ private openEditDialog;
30
+ }
@@ -0,0 +1,23 @@
1
+ import { LimeWebComponent, LimeWebComponentContext, LimeWebComponentPlatform } from '@limetech/lime-web-components';
2
+ import { EventEmitter } from '../../stencil-public-runtime';
3
+ export declare class DynamicProperties implements LimeWebComponent {
4
+ platform: LimeWebComponentPlatform;
5
+ context: LimeWebComponentContext;
6
+ limetype: string;
7
+ properties: Record<string, any>;
8
+ columns?: number;
9
+ private schema;
10
+ private limeobjectService;
11
+ private formData;
12
+ private formValid;
13
+ private hasFocus;
14
+ propertiesChange: EventEmitter;
15
+ componentWillLoad(): Promise<void>;
16
+ private modifySchema;
17
+ private createProps;
18
+ render(): any;
19
+ private handleOnChange;
20
+ private handleFormValidate;
21
+ private handleFocusin;
22
+ private handleFocusout;
23
+ }
@@ -0,0 +1,52 @@
1
+ import { LimeWebComponent, LimeWebComponentContext, LimeWebComponentPlatform, Translator, Notifications } from '@limetech/lime-web-components';
2
+ import { EventEmitter } from '../../stencil-public-runtime';
3
+ import { Deal, Item, Order } from '../../classes';
4
+ import { Iconfig, IconfigItemMapping } from '../../interfaces';
5
+ export declare class EditItemDialog implements LimeWebComponent {
6
+ /**
7
+ * @inherit
8
+ */
9
+ platform: LimeWebComponentPlatform;
10
+ /**
11
+ * @inherit
12
+ */
13
+ context: LimeWebComponentContext;
14
+ item: Item;
15
+ open: boolean;
16
+ editMode: string;
17
+ config: Iconfig;
18
+ itemMapping: IconfigItemMapping;
19
+ itemParent: Deal | Order;
20
+ currency: string;
21
+ closeDialog: EventEmitter;
22
+ updateItem: EventEmitter;
23
+ newItem: EventEmitter;
24
+ deleteItem: EventEmitter;
25
+ private itemCopy;
26
+ private formValid;
27
+ private limetypes;
28
+ private limetype;
29
+ private itemContext;
30
+ get notification(): Notifications;
31
+ get translate(): Translator;
32
+ componentWillLoad(): Promise<void>;
33
+ componentWillRender(): void;
34
+ render(): any;
35
+ private renderDialogTitle;
36
+ private handleArticleChange;
37
+ private handleItemChange;
38
+ private assertAdditionalPropertiesHaveConfig;
39
+ private getAdditionalItemProperties;
40
+ private handleFormChange;
41
+ private handleFormValidate;
42
+ private handleUpdate;
43
+ private handleNew;
44
+ private handleDelete;
45
+ private renderButtons;
46
+ private itemIsChanged;
47
+ private renderDeleteButton;
48
+ private renderUpdateButton;
49
+ private renderSplitButton;
50
+ private onSelectMenuItem;
51
+ private close;
52
+ }
@@ -0,0 +1,20 @@
1
+ import { LimeWebComponent, LimeWebComponentContext, LimeWebComponentPlatform } from '@limetech/lime-web-components';
2
+ import { ErpStatus } from '../../interfaces';
3
+ import { StatusLabelMapping } from './flow-items';
4
+ export declare class ErpStatusFlow implements LimeWebComponent {
5
+ /**
6
+ * @inherit
7
+ */
8
+ platform: LimeWebComponentPlatform;
9
+ /**
10
+ * @inherit
11
+ */
12
+ context: LimeWebComponentContext;
13
+ statusLabels: StatusLabelMapping;
14
+ status: ErpStatus;
15
+ currentStatus: ErpStatus;
16
+ private getFlowItems;
17
+ private handleChange;
18
+ componentWillLoad(): void;
19
+ render(): any;
20
+ }
@@ -0,0 +1,9 @@
1
+ import { FlowItem } from '@limetech/lime-elements';
2
+ import { ErpStatus } from '../../interfaces';
3
+ export declare const defaultFlowItems: readonly FlowItem[];
4
+ export declare const errorFlowItem: FlowItem;
5
+ export declare type StatusLabelMapping = {
6
+ [key in ErpStatus]?: string;
7
+ };
8
+ export declare function getFlowItems(flowItems: readonly FlowItem[], statusLabels: StatusLabelMapping, currentStatus: ErpStatus): FlowItem[];
9
+ export declare function isDisabled(value: ErpStatus, currentStatus: ErpStatus): boolean;
@@ -0,0 +1,130 @@
1
+ import { LimeType, LimeWebComponent, LimeWebComponentContext, LimeWebComponentPlatform, Translator } from '@limetech/lime-web-components';
2
+ import { EventEmitter } from '../../stencil-public-runtime';
3
+ import { IconfigItemMapping } from '../../interfaces';
4
+ import { Item } from '../../classes';
5
+ export declare class ItemForm implements LimeWebComponent {
6
+ /**
7
+ * @inherit
8
+ */
9
+ platform: LimeWebComponentPlatform;
10
+ /**
11
+ * @inherit
12
+ */
13
+ context: LimeWebComponentContext;
14
+ itemData: Item;
15
+ currency: String;
16
+ itemMapping: IconfigItemMapping;
17
+ limetype: LimeType;
18
+ validate: EventEmitter;
19
+ get translate(): Translator;
20
+ render(): any[];
21
+ private renderGrossMarginRatio;
22
+ private renderSummary;
23
+ private renderHelperText;
24
+ private renderSubtotalAndDiscount;
25
+ get schema(): {
26
+ type: string;
27
+ lime: {
28
+ layout: {
29
+ type: string;
30
+ columns: number;
31
+ dense: boolean;
32
+ };
33
+ };
34
+ required: string[];
35
+ properties: {
36
+ description: {
37
+ type: string;
38
+ title: string;
39
+ maxLength: number;
40
+ lime: {
41
+ layout: {
42
+ colSpan: string;
43
+ };
44
+ };
45
+ };
46
+ quantity: {
47
+ type: string;
48
+ title: string;
49
+ minimum: number;
50
+ lime: {
51
+ component: {
52
+ props: {
53
+ suffix: string;
54
+ };
55
+ };
56
+ };
57
+ };
58
+ pricePerUnit: {
59
+ type: string;
60
+ title: string;
61
+ description: string;
62
+ lime: {
63
+ component: {
64
+ props: {
65
+ suffix: String;
66
+ };
67
+ };
68
+ };
69
+ };
70
+ vat: {
71
+ type: string;
72
+ title: string;
73
+ lime: {
74
+ component: {
75
+ name: string;
76
+ props: {
77
+ factor: number;
78
+ step: number;
79
+ valuemin: number;
80
+ valuemax: number;
81
+ unit: string;
82
+ };
83
+ };
84
+ };
85
+ };
86
+ discountClass: {
87
+ type: string;
88
+ title: string;
89
+ oneOf: {
90
+ type: string;
91
+ const: string;
92
+ title: String;
93
+ }[];
94
+ lime: {
95
+ component: {
96
+ props: {
97
+ readonly: boolean;
98
+ };
99
+ };
100
+ };
101
+ };
102
+ discountPerUnit: {
103
+ type: string;
104
+ title: string;
105
+ description: string;
106
+ lime: {
107
+ component: {
108
+ props: {
109
+ prefix: String;
110
+ readonly: boolean;
111
+ };
112
+ };
113
+ };
114
+ };
115
+ discountPercent: {
116
+ type: string[];
117
+ title: string;
118
+ description: string;
119
+ lime: {
120
+ component: {
121
+ props: {
122
+ prefix: string;
123
+ readonly: boolean;
124
+ };
125
+ };
126
+ };
127
+ };
128
+ };
129
+ };
130
+ }
@@ -0,0 +1,20 @@
1
+ import { LimeWebComponent, LimeWebComponentContext, LimeWebComponentPlatform, Translator } from '@limetech/lime-web-components';
2
+ export declare class ItemSummary implements LimeWebComponent {
3
+ /**
4
+ * @inherit
5
+ */
6
+ platform: LimeWebComponentPlatform;
7
+ /**
8
+ * @inherit
9
+ */
10
+ context: LimeWebComponentContext;
11
+ subtotal: number;
12
+ discount: number;
13
+ total: number;
14
+ vat: number;
15
+ totalInclVat: number;
16
+ currency: string;
17
+ get translate(): Translator;
18
+ render(): any;
19
+ private renderSubtotalAndDiscount;
20
+ }
@@ -0,0 +1,23 @@
1
+ import { LimeWebComponent, LimeWebComponentContext, LimeWebComponentPlatform, Translator } from '@limetech/lime-web-components';
2
+ import { IconfigItemMapping } from '../../interfaces';
3
+ import { Item } from '../../classes';
4
+ export declare class ItemTable implements LimeWebComponent {
5
+ /**
6
+ * @inherit
7
+ */
8
+ platform: LimeWebComponentPlatform;
9
+ /**
10
+ * @inherit
11
+ */
12
+ context: LimeWebComponentContext;
13
+ items: Item[];
14
+ activeRow: Item;
15
+ tableIsReadonly: boolean;
16
+ itemMapping: IconfigItemMapping;
17
+ private limetypes;
18
+ private columns;
19
+ get translate(): Translator;
20
+ componentWillLoad(): Promise<void>;
21
+ render(): any;
22
+ private filterItems;
23
+ }
@@ -0,0 +1,19 @@
1
+ import { CommandBus, DialogRenderer, EventDispatcher, LimePluginLoader, LimeWebComponentContext, LimeWebComponentPlatform } from '@limetech/lime-web-components';
2
+ export declare class Loader implements LimePluginLoader {
3
+ connectedCallback(): void;
4
+ context: LimeWebComponentContext;
5
+ platform: LimeWebComponentPlatform;
6
+ private config;
7
+ private dialogId;
8
+ get dialogService(): DialogRenderer;
9
+ get eventDispatcher(): EventDispatcher;
10
+ get commandBus(): CommandBus;
11
+ componentWillLoad(): void;
12
+ componentWillUpdate(): void;
13
+ disconnectedCallback(): void;
14
+ private handleCommandReceived;
15
+ private configIsValid;
16
+ private openNewOrderDialog;
17
+ private onDestroyDialog;
18
+ private isEmpty;
19
+ }
@@ -0,0 +1,26 @@
1
+ import { LimeWebComponent, LimeWebComponentContext, LimeWebComponentPlatform, Translator } from '@limetech/lime-web-components';
2
+ import { EventEmitter } from '../../stencil-public-runtime';
3
+ export declare class NewOrderDialog implements LimeWebComponent {
4
+ platform: LimeWebComponentPlatform;
5
+ context: LimeWebComponentContext;
6
+ /** Default data to populate the order with */
7
+ properties: Record<string, any>;
8
+ private isOpen;
9
+ private limetypes;
10
+ private config;
11
+ private order;
12
+ private isSaving;
13
+ private savingFailed;
14
+ destroyDialog: EventEmitter;
15
+ get route(): any;
16
+ get translate(): Translator;
17
+ private orderLimetype;
18
+ private orderContext;
19
+ componentWillLoad(): Promise<void>;
20
+ render(): any;
21
+ private handleItemsChange;
22
+ private handlePropertiesChange;
23
+ private onClose;
24
+ private onSave;
25
+ private routeToObject;
26
+ }
@@ -0,0 +1,22 @@
1
+ import { LimeWebComponent, LimeWebComponentContext, LimeWebComponentPlatform } from '@limetech/lime-web-components';
2
+ export declare class OrderCard implements LimeWebComponent {
3
+ /**
4
+ * @inherit
5
+ */
6
+ platform: LimeWebComponentPlatform;
7
+ /**
8
+ * @inherit
9
+ */
10
+ context: LimeWebComponentContext;
11
+ private currentLimeobject;
12
+ private config;
13
+ private order;
14
+ private erpStatus;
15
+ private statusLabels;
16
+ configUpdate(): Promise<void>;
17
+ limeobjectUpdate(): void;
18
+ private setup;
19
+ render(): any[];
20
+ private handleItemsChange;
21
+ private handleStatusChange;
22
+ }