@things-factory/accounting 8.0.6 → 9.0.0-beta.12

Sign up to get free protection for your applications and to get access to all the features.
Files changed (196) hide show
  1. package/dist-client/pages/accounting-category/accounting-category-tree-page.js +1 -1
  2. package/dist-client/pages/accounting-category/accounting-category-tree-page.js.map +1 -1
  3. package/dist-client/pages/bank/bank-importer.d.ts +23 -0
  4. package/dist-client/pages/bank/bank-importer.js +93 -0
  5. package/dist-client/pages/bank/bank-importer.js.map +1 -0
  6. package/dist-client/pages/bank/bank-list-page.d.ts +66 -0
  7. package/dist-client/pages/bank/bank-list-page.js +370 -0
  8. package/dist-client/pages/bank/bank-list-page.js.map +1 -0
  9. package/dist-client/pages/bank-account/bank-account-importer.d.ts +23 -0
  10. package/dist-client/pages/bank-account/bank-account-importer.js +93 -0
  11. package/dist-client/pages/bank-account/bank-account-importer.js.map +1 -0
  12. package/dist-client/pages/bank-account/bank-account-list-page.d.ts +66 -0
  13. package/dist-client/pages/bank-account/bank-account-list-page.js +370 -0
  14. package/dist-client/pages/bank-account/bank-account-list-page.js.map +1 -0
  15. package/dist-client/pages/financial-institution/financial-institution-importer.d.ts +23 -0
  16. package/dist-client/pages/financial-institution/financial-institution-importer.js +93 -0
  17. package/dist-client/pages/financial-institution/financial-institution-importer.js.map +1 -0
  18. package/dist-client/pages/financial-institution/financial-institution-list-page.d.ts +66 -0
  19. package/dist-client/pages/financial-institution/financial-institution-list-page.js +370 -0
  20. package/dist-client/pages/financial-institution/financial-institution-list-page.js.map +1 -0
  21. package/dist-client/tsconfig.tsbuildinfo +1 -1
  22. package/dist-server/migrations/1725201567284-seed-country-codes.d.ts +5 -0
  23. package/dist-server/migrations/1725201567284-seed-country-codes.js +248 -0
  24. package/dist-server/migrations/1725201567284-seed-country-codes.js.map +1 -0
  25. package/dist-server/migrations/1725201667385-seed-financial-institutions.d.ts +5 -0
  26. package/dist-server/migrations/1725201667385-seed-financial-institutions.js +348 -0
  27. package/dist-server/migrations/1725201667385-seed-financial-institutions.js.map +1 -0
  28. package/dist-server/service/bank-account/bank-account-history.d.ts +34 -0
  29. package/dist-server/service/bank-account/bank-account-history.js +172 -0
  30. package/dist-server/service/bank-account/bank-account-history.js.map +1 -0
  31. package/dist-server/service/bank-account/bank-account-mutation.d.ts +10 -0
  32. package/dist-server/service/bank-account/bank-account-mutation.js +128 -0
  33. package/dist-server/service/bank-account/bank-account-mutation.js.map +1 -0
  34. package/dist-server/service/bank-account/bank-account-query.d.ts +11 -0
  35. package/dist-server/service/bank-account/bank-account-query.js +79 -0
  36. package/dist-server/service/bank-account/bank-account-query.js.map +1 -0
  37. package/dist-server/service/bank-account/bank-account-type.d.ts +39 -0
  38. package/dist-server/service/bank-account/bank-account-type.js +153 -0
  39. package/dist-server/service/bank-account/bank-account-type.js.map +1 -0
  40. package/dist-server/service/bank-account/bank-account.d.ts +38 -0
  41. package/dist-server/service/bank-account/bank-account.js +164 -0
  42. package/dist-server/service/bank-account/bank-account.js.map +1 -0
  43. package/dist-server/service/bank-account/event-subscriber.d.ts +7 -0
  44. package/dist-server/service/bank-account/event-subscriber.js +21 -0
  45. package/dist-server/service/bank-account/event-subscriber.js.map +1 -0
  46. package/dist-server/service/bank-account/index.d.ts +7 -0
  47. package/dist-server/service/bank-account/index.js +12 -0
  48. package/dist-server/service/bank-account/index.js.map +1 -0
  49. package/dist-server/service/financial-institution/financial-institution-mutation.d.ts +10 -0
  50. package/dist-server/service/financial-institution/financial-institution-mutation.js +169 -0
  51. package/dist-server/service/financial-institution/financial-institution-mutation.js.map +1 -0
  52. package/dist-server/service/financial-institution/financial-institution-query.d.ts +12 -0
  53. package/dist-server/service/financial-institution/financial-institution-query.js +97 -0
  54. package/dist-server/service/financial-institution/financial-institution-query.js.map +1 -0
  55. package/dist-server/service/financial-institution/financial-institution-type.d.ts +32 -0
  56. package/dist-server/service/financial-institution/financial-institution-type.js +126 -0
  57. package/dist-server/service/financial-institution/financial-institution-type.js.map +1 -0
  58. package/dist-server/service/financial-institution/financial-institution.d.ts +34 -0
  59. package/dist-server/service/financial-institution/financial-institution.js +137 -0
  60. package/dist-server/service/financial-institution/financial-institution.js.map +1 -0
  61. package/dist-server/service/financial-institution/index.d.ts +6 -0
  62. package/dist-server/service/financial-institution/index.js +10 -0
  63. package/dist-server/service/financial-institution/index.js.map +1 -0
  64. package/dist-server/service/index.d.ts +3 -2
  65. package/dist-server/service/index.js +5 -0
  66. package/dist-server/service/index.js.map +1 -1
  67. package/dist-server/service/payment/index.d.ts +1 -2
  68. package/dist-server/service/payment/payment-history.d.ts +8 -1
  69. package/dist-server/service/payment/payment-history.js +41 -10
  70. package/dist-server/service/payment/payment-history.js.map +1 -1
  71. package/dist-server/service/payment/payment-type.d.ts +7 -1
  72. package/dist-server/service/payment/payment-type.js +24 -0
  73. package/dist-server/service/payment/payment-type.js.map +1 -1
  74. package/dist-server/service/payment/payment.d.ts +12 -0
  75. package/dist-server/service/payment/payment.js +36 -1
  76. package/dist-server/service/payment/payment.js.map +1 -1
  77. package/dist-server/tsconfig.tsbuildinfo +1 -1
  78. package/helps/accounting/bank-account.md +160 -0
  79. package/helps/accounting/bank.md +160 -0
  80. package/helps/accounting/financial-institution.md +160 -0
  81. package/package.json +7 -7
  82. package/client/activities/activity-book-edit.ts +0 -88
  83. package/client/activities/activity-book-view.ts +0 -88
  84. package/client/activities/activity-expense-edit.ts +0 -88
  85. package/client/activities/activity-expense-view.ts +0 -88
  86. package/client/bootstrap.ts +0 -10
  87. package/client/components/accounting-category-selector.ts +0 -136
  88. package/client/components/accounting-category-view.ts +0 -75
  89. package/client/grist-editors/grist-editor-accounting-category-object.ts +0 -83
  90. package/client/grist-editors/grist-renderer-accounting-category-object.ts +0 -13
  91. package/client/index.ts +0 -0
  92. package/client/pages/account/account-importer.ts +0 -97
  93. package/client/pages/account/account-list-page.ts +0 -364
  94. package/client/pages/accounting-category/accounting-category-importer.ts +0 -97
  95. package/client/pages/accounting-category/accounting-category-list-page.ts +0 -368
  96. package/client/pages/accounting-category/accounting-category-tree-page.ts +0 -338
  97. package/client/pages/accounting-document/accounting-document-importer.ts +0 -90
  98. package/client/pages/accounting-document/accounting-document-list-page.ts +0 -398
  99. package/client/pages/financial-statement/financial-statement-importer.ts +0 -97
  100. package/client/pages/financial-statement/financial-statement-list-page.ts +0 -338
  101. package/client/pages/fiscal-month/fiscal-month-importer.ts +0 -90
  102. package/client/pages/fiscal-month/fiscal-month-list-page.ts +0 -398
  103. package/client/pages/fiscal-quarter/fiscal-quarter-importer.ts +0 -90
  104. package/client/pages/fiscal-quarter/fiscal-quarter-list-page.ts +0 -398
  105. package/client/pages/fiscal-year/fiscal-year-importer.ts +0 -90
  106. package/client/pages/fiscal-year/fiscal-year-list-page.ts +0 -398
  107. package/client/pages/income-statement/income-statement-importer.ts +0 -97
  108. package/client/pages/income-statement/income-statement-list-page.ts +0 -338
  109. package/client/pages/payment/payment-importer.ts +0 -90
  110. package/client/pages/payment/payment-list-page.ts +0 -398
  111. package/client/pages/transaction/transaction-importer.ts +0 -97
  112. package/client/pages/transaction/transaction-list-page.ts +0 -338
  113. package/client/route.ts +0 -35
  114. package/client/tsconfig.json +0 -13
  115. package/client/types/accounting-category.ts +0 -23
  116. package/client/types/index.ts +0 -1
  117. package/server/activities/activity-book.ts +0 -172
  118. package/server/activities/activity-expense.ts +0 -149
  119. package/server/activities/index.ts +0 -18
  120. package/server/controllers/index.ts +0 -1
  121. package/server/controllers/summary-statements.ts +0 -166
  122. package/server/index.ts +0 -6
  123. package/server/middlewares/index.ts +0 -3
  124. package/server/migrations/1725200507196-seed-fiscal-entities.ts +0 -106
  125. package/server/migrations/1725201467183-seed-accounts.ts +0 -339
  126. package/server/migrations/index.ts +0 -9
  127. package/server/routes.ts +0 -26
  128. package/server/service/account/account-history.ts +0 -117
  129. package/server/service/account/account-mutation.ts +0 -140
  130. package/server/service/account/account-query.ts +0 -51
  131. package/server/service/account/account-type.ts +0 -44
  132. package/server/service/account/account.ts +0 -97
  133. package/server/service/account/event-subscriber.ts +0 -17
  134. package/server/service/account/index.ts +0 -9
  135. package/server/service/accounting-category/accounting-category-history.ts +0 -129
  136. package/server/service/accounting-category/accounting-category-mutation.ts +0 -148
  137. package/server/service/accounting-category/accounting-category-query.ts +0 -74
  138. package/server/service/accounting-category/accounting-category-type.ts +0 -48
  139. package/server/service/accounting-category/accounting-category.ts +0 -100
  140. package/server/service/accounting-category/event-subscriber.ts +0 -20
  141. package/server/service/accounting-category/index.ts +0 -9
  142. package/server/service/accounting-document/accounting-document-history.ts +0 -123
  143. package/server/service/accounting-document/accounting-document-mutation.ts +0 -137
  144. package/server/service/accounting-document/accounting-document-query.ts +0 -48
  145. package/server/service/accounting-document/accounting-document-type.ts +0 -52
  146. package/server/service/accounting-document/accounting-document.ts +0 -93
  147. package/server/service/accounting-document/event-subscriber.ts +0 -17
  148. package/server/service/accounting-document/index.ts +0 -9
  149. package/server/service/common-type.ts +0 -12
  150. package/server/service/financial-statement/event-subscriber.ts +0 -17
  151. package/server/service/financial-statement/financial-statement-history.ts +0 -129
  152. package/server/service/financial-statement/financial-statement-line-item.ts +0 -82
  153. package/server/service/financial-statement/financial-statement-mutation.ts +0 -148
  154. package/server/service/financial-statement/financial-statement-query.ts +0 -53
  155. package/server/service/financial-statement/financial-statement-type.ts +0 -51
  156. package/server/service/financial-statement/financial-statement.ts +0 -116
  157. package/server/service/financial-statement/index.ts +0 -10
  158. package/server/service/fiscal-month/fiscal-month-mutation.ts +0 -145
  159. package/server/service/fiscal-month/fiscal-month-query.ts +0 -58
  160. package/server/service/fiscal-month/fiscal-month-type.ts +0 -66
  161. package/server/service/fiscal-month/fiscal-month.ts +0 -84
  162. package/server/service/fiscal-month/index.ts +0 -7
  163. package/server/service/fiscal-quarter/fiscal-quarter-mutation.ts +0 -148
  164. package/server/service/fiscal-quarter/fiscal-quarter-query.ts +0 -60
  165. package/server/service/fiscal-quarter/fiscal-quarter-type.ts +0 -60
  166. package/server/service/fiscal-quarter/fiscal-quarter.ts +0 -80
  167. package/server/service/fiscal-quarter/index.ts +0 -7
  168. package/server/service/fiscal-year/fiscal-year-mutation.ts +0 -145
  169. package/server/service/fiscal-year/fiscal-year-query.ts +0 -53
  170. package/server/service/fiscal-year/fiscal-year-type.ts +0 -54
  171. package/server/service/fiscal-year/fiscal-year.ts +0 -76
  172. package/server/service/fiscal-year/index.ts +0 -7
  173. package/server/service/income-statement/event-subscriber.ts +0 -17
  174. package/server/service/income-statement/income-statement-history.ts +0 -133
  175. package/server/service/income-statement/income-statement-line-item.ts +0 -84
  176. package/server/service/income-statement/income-statement-mutation.ts +0 -147
  177. package/server/service/income-statement/income-statement-query.ts +0 -50
  178. package/server/service/income-statement/income-statement-type.ts +0 -51
  179. package/server/service/income-statement/income-statement.ts +0 -120
  180. package/server/service/income-statement/index.ts +0 -10
  181. package/server/service/index.ts +0 -108
  182. package/server/service/payment/event-subscriber.ts +0 -17
  183. package/server/service/payment/index.ts +0 -9
  184. package/server/service/payment/payment-history.ts +0 -132
  185. package/server/service/payment/payment-mutation.ts +0 -139
  186. package/server/service/payment/payment-query.ts +0 -50
  187. package/server/service/payment/payment-type.ts +0 -64
  188. package/server/service/payment/payment.ts +0 -123
  189. package/server/service/transaction/event-subscriber.ts +0 -17
  190. package/server/service/transaction/index.ts +0 -9
  191. package/server/service/transaction/transaction-history.ts +0 -161
  192. package/server/service/transaction/transaction-mutation.ts +0 -146
  193. package/server/service/transaction/transaction-query.ts +0 -50
  194. package/server/service/transaction/transaction-type.ts +0 -48
  195. package/server/service/transaction/transaction.ts +0 -230
  196. package/server/tsconfig.json +0 -10
@@ -1,88 +0,0 @@
1
- /*
2
- Add the following line to clinet/bootstrap.ts so that activity editor can be registered when loading a module.
3
- --
4
- import './activities/expense-edit.js' // refered by the activity template (activity-expense) on server
5
- */
6
-
7
- import '../components/expense-edit.js'
8
-
9
- import gql from 'graphql-tag'
10
- import { css, html, LitElement } from 'lit'
11
- import { customElement, property, query, state } from 'lit/decorators.js'
12
-
13
- import { client } from '@operato/graphql'
14
- import { i18next, localize } from '@operato/i18n'
15
- import { ScrollbarStyles } from '@operato/styles'
16
-
17
- // import { ExpenseView } from '../components/expense-edit.js'
18
-
19
- @customElement('activity-expense-edit')
20
- export class ActivityExpenseView extends localize(i18next)(LitElement) {
21
- static styles = [
22
- ScrollbarStyles,
23
- css`
24
- :host {
25
- display: flex;
26
- flex-direction: column;
27
-
28
- background-color: #fff;
29
- }
30
-
31
- expense-edit {
32
- flex: 1;
33
- padding: 10px;
34
- overflow: auto;
35
- }
36
- `
37
- ]
38
-
39
- @property({ type: Object }) input?: any
40
- @property({ type: Object }) output?: any
41
-
42
- @state() expense?: any //Expense
43
-
44
- // @query('expense-edit') expenseView!: ExpenseView
45
-
46
- render() {
47
- return html` <expense-edit .expense=${this.expense} .value=${this.output} @change=${this.onChange}></expense-edit> `
48
- }
49
-
50
- async onChange() {
51
- // this.output = this.expenseView.value
52
-
53
- this.dispatchEvent(
54
- new CustomEvent('change', {
55
- detail: this.output
56
- })
57
- )
58
- }
59
-
60
- updated(changes) {
61
- if (changes.has('input')) {
62
- this.fetchExpense()
63
- }
64
- }
65
-
66
- async fetchExpense() {
67
- const id = this.input.expenseId
68
-
69
- if (id) {
70
- const response = await client.query({
71
- query: gql`
72
- query ($id: String!) {
73
- expense(id: $id) {
74
- id
75
- name
76
- description
77
- }
78
- }
79
- `,
80
- variables: {
81
- id
82
- }
83
- })
84
-
85
- this.expense = response.data.expense
86
- }
87
- }
88
- }
@@ -1,88 +0,0 @@
1
- /*
2
- Add the following line to clinet/bootstrap.ts so that activity view can be registered when loading a module.
3
- --
4
- import './activities/expense-view.js' // refered by the activity template (activity-data-collect) on server
5
- */
6
-
7
- import '../components/expense-view.js'
8
-
9
- import gql from 'graphql-tag'
10
- import { css, html, LitElement } from 'lit'
11
- import { customElement, property, query, state } from 'lit/decorators.js'
12
-
13
- import { client } from '@operato/graphql'
14
- import { i18next, localize } from '@operato/i18n'
15
- import { ScrollbarStyles } from '@operato/styles'
16
-
17
- // import { ExpenseView } from '../components/expense-view.js'
18
-
19
- @customElement('activity-expense-view')
20
- export class ActivityExpenseView extends localize(i18next)(LitElement) {
21
- static styles = [
22
- ScrollbarStyles,
23
- css`
24
- :host {
25
- display: flex;
26
- flex-direction: column;
27
-
28
- background-color: #fff;
29
- }
30
-
31
- expense-view {
32
- flex: 1;
33
- padding: 10px;
34
- overflow: auto;
35
- }
36
- `
37
- ]
38
-
39
- @property({ type: Object }) input?: any
40
- @property({ type: Object }) output?: any
41
-
42
- @state() expense?: any //Expense
43
-
44
- // @query('expense-view') expenseView!: ExpenseView
45
-
46
- render() {
47
- return html` <expense-view .expense=${this.expense} .value=${this.output} @change=${this.onChange}></expense-view> `
48
- }
49
-
50
- async onChange() {
51
- // this.output = this.expenseView.value
52
-
53
- this.dispatchEvent(
54
- new CustomEvent('change', {
55
- detail: this.output
56
- })
57
- )
58
- }
59
-
60
- updated(changes) {
61
- if (changes.has('input')) {
62
- this.fetchExpense()
63
- }
64
- }
65
-
66
- async fetchExpense() {
67
- const id = this.input.expenseId
68
-
69
- if (id) {
70
- const response = await client.query({
71
- query: gql`
72
- query ($id: String!) {
73
- expense(id: $id) {
74
- id
75
- name
76
- description
77
- }
78
- }
79
- `,
80
- variables: {
81
- id
82
- }
83
- })
84
-
85
- this.expense = response.data.expense
86
- }
87
- }
88
- }
@@ -1,10 +0,0 @@
1
- import { registerEditor, registerRenderer } from '@operato/data-grist'
2
-
3
- import { GristRendererAccountingCategoryObject } from './grist-editors/grist-renderer-accounting-category-object'
4
- import { GristEditorAccountingCategoryObject } from './grist-editors/grist-editor-accounting-category-object'
5
-
6
- export default function bootstrap() {
7
- registerEditor('accounting-category-object', GristEditorAccountingCategoryObject)
8
-
9
- registerRenderer('accounting-category-object', GristRendererAccountingCategoryObject)
10
- }
@@ -1,136 +0,0 @@
1
- import '@material/web/icon/icon.js'
2
- import '@operato/data-tree'
3
-
4
- import gql from 'graphql-tag'
5
- import { css, html, LitElement } from 'lit'
6
- import { customElement, property, query, state } from 'lit/decorators.js'
7
-
8
- import { client } from '@operato/graphql'
9
- import { i18next } from '@operato/i18n'
10
- import { closePopup } from '@operato/popup'
11
- import { CommonHeaderStyles } from '@operato/styles'
12
-
13
- import { AccountingCategory } from '../types/accounting-category'
14
-
15
- const accountingCategoryFragment = gql`
16
- fragment SubAccountingCategory on AccountingCategory {
17
- id
18
- code
19
- name
20
- description
21
- active
22
- }
23
- `
24
-
25
- @customElement('accounting-category-selector')
26
- export class AccountingCategorySelector extends LitElement {
27
- static styles = [
28
- CommonHeaderStyles,
29
- css`
30
- :host {
31
- display: flex;
32
- flex-direction: column;
33
-
34
- background-color: var(--md-sys-color-surface);
35
-
36
- width: var(--overlay-center-normal-width, 50%);
37
- height: var(--overlay-center-normal-height, 50%);
38
-
39
- overflow: auto;
40
- }
41
-
42
- ox-tree-vertical {
43
- flex: 1;
44
- }
45
- `
46
- ]
47
-
48
- @property({ type: Object }) confirmCallback?: (selected?: any) => void
49
- @property({ type: Object }) value?: AccountingCategory
50
-
51
- @state() root?: AccountingCategory
52
-
53
- render() {
54
- return html`
55
- <ox-tree-vertical
56
- .data=${this.root}
57
- .selected=${this.value}
58
- @select=${e => this.onSelect(e, false)}
59
- @select-confirm=${e => this.onSelect(e, true)}
60
- id-property="code"
61
- label-property="name"
62
- description-property="description"
63
- ></ox-tree-vertical>
64
-
65
- <div class="footer" style="margin-left:unset;">
66
- <button @click=${this.onEmpty.bind(this)}>
67
- <md-icon>check_box_outline_blank</md-icon>${i18next.t('button.empty')}
68
- </button>
69
- <div filler></div>
70
- <button @click=${this.onCancel.bind(this)}><md-icon>cancel</md-icon>${i18next.t('button.cancel')}</button>
71
- <button @click=${this.onConfirm.bind(this)} done><md-icon>done</md-icon>${i18next.t('button.confirm')}</button>
72
- </div>
73
- `
74
- }
75
-
76
- onSelect(e: CustomEvent, confirm?: boolean) {
77
- this.value = e.detail as AccountingCategory
78
-
79
- if (confirm) {
80
- this.onConfirm()
81
- }
82
- }
83
-
84
- onEmpty() {
85
- this.confirmCallback && this.confirmCallback(null)
86
- closePopup(this)
87
- }
88
-
89
- onCancel() {
90
- closePopup(this)
91
- }
92
-
93
- onConfirm() {
94
- this.confirmCallback && this.confirmCallback(this.value)
95
- closePopup(this)
96
- }
97
-
98
- async firstUpdated() {
99
- const response = await client.query({
100
- query: gql`
101
- query {
102
- responses: accountingCategoryRoots {
103
- total
104
- items {
105
- ...SubAccountingCategory
106
- children {
107
- ...SubAccountingCategory
108
- children {
109
- ...SubAccountingCategory
110
- children {
111
- ...SubAccountingCategory
112
- children {
113
- ...SubAccountingCategory
114
- children {
115
- ...SubAccountingCategory
116
- children {
117
- ...SubAccountingCategory
118
- }
119
- }
120
- }
121
- }
122
- }
123
- }
124
- }
125
- }
126
- }
127
-
128
- ${accountingCategoryFragment}
129
- `
130
- })
131
-
132
- const { items: records, total } = response.data.responses
133
-
134
- this.root = records[0]
135
- }
136
- }
@@ -1,75 +0,0 @@
1
- import '@operato/property-editor'
2
- import '@operato/property-editor/ox-properties-dynamic-view.js'
3
-
4
- import { LitElement, css, html, PropertyValueMap } from 'lit'
5
- import { customElement, property, query, state } from 'lit/decorators.js'
6
- import { ScopedElementsMixin } from '@open-wc/scoped-elements'
7
- import { i18next, localize } from '@operato/i18n'
8
- import { ScrollbarStyles } from '@operato/styles'
9
-
10
- @customElement('accounting-category-view')
11
- export class AccountingCategoryView extends localize(i18next)(ScopedElementsMixin(LitElement)) {
12
- static styles = [
13
- ScrollbarStyles,
14
- css`
15
- :host {
16
- display: flex;
17
- flex-direction: column;
18
-
19
- overflow: auto;
20
- }
21
-
22
- ox-properties-dynamic-view {
23
- flex: 1;
24
-
25
- display: flex;
26
- flex-direction: column;
27
- }
28
- `
29
- ]
30
-
31
- @property({ type: Object }) accountingCategory: any
32
-
33
- @query('ox-properties-dynamic-view') dynamicView!: any
34
-
35
- @state() private properties: any
36
-
37
- protected firstUpdated(_changedProperties: PropertyValueMap<any> | Map<PropertyKey, unknown>): void {
38
- this.properties = [
39
- {
40
- type: 'string',
41
- name: 'code',
42
- label: 'code'
43
- },
44
- {
45
- type: 'string',
46
- name: 'name',
47
- label: 'name'
48
- },
49
- {
50
- type: 'string',
51
- name: 'description',
52
- label: 'description'
53
- },
54
- {
55
- type: 'boolean',
56
- name: 'active',
57
- label: 'active'
58
- }
59
- ]
60
- }
61
-
62
- render() {
63
- return html`
64
- <ox-properties-dynamic-view
65
- .props=${this.properties}
66
- .value=${this.accountingCategory}
67
- @property-change=${this.onPropertyChange.bind(this)}
68
- ></ox-properties-dynamic-view>
69
- `
70
- }
71
-
72
- onPropertyChange(e: CustomEvent) {
73
- this.accountingCategory = e.detail
74
- }
75
- }
@@ -1,83 +0,0 @@
1
- import '../components/accounting-category-selector.js'
2
-
3
- import { html, TemplateResult } from 'lit'
4
- import { customElement } from 'lit/decorators.js'
5
-
6
- import { OxGristEditor } from '@operato/data-grist'
7
- import { i18next } from '@operato/i18n'
8
- import { openPopup, PopupHandle } from '@operato/layout'
9
-
10
- @customElement('grist-editor-accounting-category-object')
11
- export class GristEditorAccountingCategoryObject extends OxGristEditor {
12
- private popup?: PopupHandle
13
- private template?: TemplateResult
14
-
15
- get editorTemplate() {
16
- var { name, description } = this.value || {}
17
-
18
- return html`
19
- ${!this.value
20
- ? html``
21
- : html` <span tabindex="0" style="flex:1">${name || ''}${(description && `(${description})`) || ''}</span> `}
22
- `
23
- }
24
-
25
- _onclick(e: Event): void {
26
- e.stopPropagation()
27
- this.openSelector()
28
- }
29
-
30
- _onkeydown(e: KeyboardEvent): void {
31
- const key = e.key
32
- if (key == 'Enter') {
33
- e.stopPropagation()
34
- this.openSelector()
35
- }
36
- }
37
-
38
- openSelector() {
39
- if (this.popup) {
40
- delete this.popup
41
- }
42
-
43
- const confirmCallback = (selected?: { [field: string]: any }) => {
44
- this.dispatchEvent(
45
- new CustomEvent('field-change', {
46
- bubbles: true,
47
- composed: true,
48
- detail: {
49
- before: this.value,
50
- after: selected
51
- ? {
52
- id: selected.id,
53
- code: selected.code,
54
- name: selected.name,
55
- description: selected.description
56
- }
57
- : null,
58
- record: this.record,
59
- column: this.column,
60
- row: this.row
61
- }
62
- })
63
- )
64
- }
65
-
66
- var value = this.value || {}
67
-
68
- var template =
69
- this.template ||
70
- html`
71
- <accounting-category-selector
72
- .value=${value}
73
- .confirmCallback=${confirmCallback.bind(this)}
74
- ></accounting-category-selector>
75
- `
76
-
77
- this.popup = openPopup(template, {
78
- backdrop: true,
79
- size: 'large',
80
- title: i18next.t('title.select_item')
81
- })
82
- }
83
- }
@@ -1,13 +0,0 @@
1
- import { html } from 'lit-html'
2
-
3
- import { FieldRenderer } from '@operato/data-grist'
4
-
5
- export const GristRendererAccountingCategoryObject: FieldRenderer = (value, column, record, rowIndex, field) => {
6
- if (!value) {
7
- return ''
8
- }
9
-
10
- const { name, description } = value
11
-
12
- return html`<span>${name || ''}${(description && `(${description})`) || ''}</span> `
13
- }
package/client/index.ts DELETED
File without changes
@@ -1,97 +0,0 @@
1
- import '@operato/data-grist'
2
-
3
- import gql from 'graphql-tag'
4
- import { css, html, LitElement } from 'lit'
5
- import { property } from 'lit/decorators.js'
6
-
7
- import { client } from '@operato/graphql'
8
- import { i18next } from '@operato/i18n'
9
- import { isMobileDevice } from '@operato/utils'
10
-
11
- export class AccountImporter extends LitElement {
12
- static styles = [
13
- css`
14
- :host {
15
- display: flex;
16
- flex-direction: column;
17
-
18
- background-color: #fff;
19
- }
20
-
21
- ox-grist {
22
- flex: 1;
23
- }
24
-
25
- .button-container {
26
- display: flex;
27
- margin-left: auto;
28
- padding: var(--padding-default);
29
- }
30
-
31
- mwc-button {
32
- margin-left: var(--margin-default);
33
- }
34
- `
35
- ]
36
-
37
- @property({ type: Array }) accounts: any[] = []
38
- @property({ type: Object }) columns = {
39
- list: { fields: ['name', 'description'] },
40
- pagination: { infinite: true },
41
- columns: [
42
- {
43
- type: 'string',
44
- name: 'name',
45
- header: i18next.t('field.name'),
46
- width: 150
47
- },
48
- {
49
- type: 'string',
50
- name: 'description',
51
- header: i18next.t('field.description'),
52
- width: 200
53
- },
54
- {
55
- type: 'checkbox',
56
- name: 'active',
57
- header: i18next.t('field.active'),
58
- width: 60
59
- }
60
- ]
61
- }
62
-
63
-
64
- render() {
65
- return html`
66
- <ox-grist
67
- .mode=${isMobileDevice() ? 'LIST' : 'GRID'}
68
- .config=${this.columns}
69
- .data=${
70
- {
71
- records: this.accounts
72
- }
73
- }
74
- ></ox-grist>
75
-
76
- <div class="button-container">
77
- <mwc-button raised @click="${this.save.bind(this)}">${i18next.t('button.save')}</mwc-button>
78
- </div>
79
- `
80
- }
81
-
82
- async save() {
83
- const response = await client.mutate({
84
- mutation: gql`
85
- mutation importAccounts($accounts: [AccountPatch!]!) {
86
- importAccounts(accounts: $accounts)
87
- }
88
- `,
89
- variables: { accounts: this.accounts }
90
- })
91
-
92
- if (response.errors?.length) return
93
-
94
- this.dispatchEvent(new CustomEvent('imported'))
95
- }
96
- }
97
-