@things-factory/accounting 8.0.39 → 9.0.0-9.0.0-beta.59.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.
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
-