@haiiro/docuflow 0.0.0-stage → 0.0.2

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 (99) hide show
  1. package/.nvmrc +1 -0
  2. package/.oxlintrc.json +37 -0
  3. package/.yarnrc.yml +1 -0
  4. package/README.md +127 -2
  5. package/package.json +60 -4
  6. package/public/cover.svg +15 -0
  7. package/public/logo.svg +9 -0
  8. package/src/application-config.ts +58 -0
  9. package/src/fields/company-documents.field.ts +29 -0
  10. package/src/fields/document-author.field.ts +32 -0
  11. package/src/fields/document-counterparty.field.ts +32 -0
  12. package/src/fields/document-folder-child-folders.field.ts +23 -0
  13. package/src/fields/document-folder-documents.field.ts +24 -0
  14. package/src/fields/document-folder-parent-folder.field.ts +31 -0
  15. package/src/fields/document-folder.field.ts +32 -0
  16. package/src/fields/document-responsible.field.ts +32 -0
  17. package/src/fields/member-authored-documents.field.ts +29 -0
  18. package/src/fields/member-responsible-documents.field.ts +29 -0
  19. package/src/fields/task-form-schema.field.ts +21 -0
  20. package/src/fields/task-form-values.field.ts +21 -0
  21. package/src/fields/task-instruction.field.ts +21 -0
  22. package/src/fields/task-section.field.ts +36 -0
  23. package/src/fields/task-workflow-run-id.field.ts +21 -0
  24. package/src/fields/task-workflow-step-id.field.ts +21 -0
  25. package/src/fields/task-workflow-thread-id.field.ts +21 -0
  26. package/src/fields/workflow-launch-fields.field.ts +21 -0
  27. package/src/fields/workflow-section.field.ts +36 -0
  28. package/src/front/api.ts +56 -0
  29. package/src/front/format.ts +60 -0
  30. package/src/front/hooks/use-async.ts +54 -0
  31. package/src/front/hooks/use-workspace-members.ts +22 -0
  32. package/src/front/types.ts +48 -0
  33. package/src/front/ui/components.tsx +436 -0
  34. package/src/front/ui/form-field-inputs.tsx +187 -0
  35. package/src/front/ui/form-fields-builder.tsx +183 -0
  36. package/src/front/ui/task-work-panel.tsx +218 -0
  37. package/src/front-components/docflow-documents.front-component.tsx +516 -0
  38. package/src/front-components/docflow-processes.front-component.tsx +266 -0
  39. package/src/front-components/docflow-tasks.front-component.tsx +303 -0
  40. package/src/front-components/process-steps.front-component.tsx +286 -0
  41. package/src/front-components/task-form.front-component.tsx +29 -0
  42. package/src/logic-functions/bitrix-app.logic-function.ts +143 -0
  43. package/src/logic-functions/bitrix-event.logic-function.ts +54 -0
  44. package/src/logic-functions/bitrix-install.logic-function.ts +81 -0
  45. package/src/logic-functions/capture-file.logic-function.ts +32 -0
  46. package/src/logic-functions/complete-task.logic-function.ts +46 -0
  47. package/src/logic-functions/hand-out-form-step.logic-function.ts +30 -0
  48. package/src/logic-functions/health-check.ts +31 -0
  49. package/src/logic-functions/launch-parameters-step.logic-function.ts +33 -0
  50. package/src/logic-functions/launch-process.logic-function.ts +96 -0
  51. package/src/logic-functions/notify-bitrix-assignee.logic-function.ts +85 -0
  52. package/src/logic-functions/on-attachment-created.logic-function.ts +67 -0
  53. package/src/logic-functions/on-task-updated.logic-function.ts +71 -0
  54. package/src/logic-functions/on-workflow-run-updated.logic-function.ts +70 -0
  55. package/src/logic-functions/save-launch-fields.logic-function.ts +73 -0
  56. package/src/logic-functions/save-step-settings.logic-function.ts +90 -0
  57. package/src/logic-functions/save-task-form.logic-function.ts +62 -0
  58. package/src/navigation-menu-items/docflow.navigation-menu-item.ts +15 -0
  59. package/src/objects/document-folder.object.ts +80 -0
  60. package/src/objects/document.object.ts +312 -0
  61. package/src/page-layouts/docflow.page-layout.ts +86 -0
  62. package/src/page-layouts/task-docflow.page-layout-tab.ts +36 -0
  63. package/src/page-layouts/workflow-steps.page-layout-tab.ts +37 -0
  64. package/src/roles/default-role.ts +21 -0
  65. package/src/roles/docflow-member.role.ts +23 -0
  66. package/src/server/bitrix-page.ts +52 -0
  67. package/src/server/bitrix-portal.ts +67 -0
  68. package/src/server/document-capture.ts +102 -0
  69. package/src/server/http-response.ts +18 -0
  70. package/src/server/launch-step.ts +166 -0
  71. package/src/server/process-tasks.ts +116 -0
  72. package/src/server/records.ts +132 -0
  73. package/src/server/task-completion.ts +100 -0
  74. package/src/server/workflow-engine.ts +105 -0
  75. package/src/shared/api/core-graphql.util.ts +98 -0
  76. package/src/shared/api/object-summaries.ts +79 -0
  77. package/src/shared/api/rest-filter.util.ts +37 -0
  78. package/src/shared/api/rest-response.util.ts +43 -0
  79. package/src/shared/bitrix/bitrix-client.ts +114 -0
  80. package/src/shared/bitrix/bitrix.type.ts +25 -0
  81. package/src/shared/bitrix/bitrix.util.ts +139 -0
  82. package/src/shared/docflow.constants.ts +31 -0
  83. package/src/shared/documents/attachment-target.util.ts +64 -0
  84. package/src/shared/engine.ts +11 -0
  85. package/src/shared/form/form-field-builder.util.ts +122 -0
  86. package/src/shared/form/form-field.type.ts +23 -0
  87. package/src/shared/form/form-fields.util.ts +138 -0
  88. package/src/shared/form/step-settings.util.ts +104 -0
  89. package/src/shared/workflow/launch-step.util.ts +56 -0
  90. package/src/shared/workflow/run-target-record.util.ts +70 -0
  91. package/src/shared/workflow/workflow-run.type.ts +35 -0
  92. package/src/shared/workflow/workflow-run.util.ts +174 -0
  93. package/src/universal-identifiers.ts +199 -0
  94. package/src/views/all-document-folders.view.ts +50 -0
  95. package/src/views/all-documents.view.ts +91 -0
  96. package/src/views/documents-by-status.view.ts +76 -0
  97. package/tsconfig.json +37 -0
  98. package/tsconfig.spec.json +9 -0
  99. package/vitest.unit.config.ts +14 -0
@@ -0,0 +1,76 @@
1
+ import { defineView, ViewType } from 'twenty-sdk/define';
2
+
3
+ import {
4
+ DOCUMENTS_BY_STATUS_VIEW_FIELD_0_UNIVERSAL_IDENTIFIER,
5
+ DOCUMENTS_BY_STATUS_VIEW_FIELD_1_UNIVERSAL_IDENTIFIER,
6
+ DOCUMENTS_BY_STATUS_VIEW_FIELD_2_UNIVERSAL_IDENTIFIER,
7
+ DOCUMENTS_BY_STATUS_VIEW_UNIVERSAL_IDENTIFIER,
8
+ DOCUMENT_NAME_UNIVERSAL_IDENTIFIER,
9
+ DOCUMENT_OBJECT_UNIVERSAL_IDENTIFIER,
10
+ DOCUMENT_RESPONSIBLE_UNIVERSAL_IDENTIFIER,
11
+ DOCUMENT_STATUS_UNIVERSAL_IDENTIFIER,
12
+ } from 'src/universal-identifiers';
13
+
14
+ export default defineView({
15
+ universalIdentifier: DOCUMENTS_BY_STATUS_VIEW_UNIVERSAL_IDENTIFIER,
16
+ name: 'По статусам',
17
+ objectUniversalIdentifier: DOCUMENT_OBJECT_UNIVERSAL_IDENTIFIER,
18
+ type: ViewType.KANBAN,
19
+ icon: 'IconLayoutKanban',
20
+ position: 1,
21
+ mainGroupByFieldMetadataUniversalIdentifier:
22
+ DOCUMENT_STATUS_UNIVERSAL_IDENTIFIER,
23
+ groups: [
24
+ {
25
+ universalIdentifier: 'cf26d853-f45c-43dc-860e-14153353b8dd',
26
+ fieldValue: 'DRAFT',
27
+ position: 0,
28
+ isVisible: true,
29
+ },
30
+ {
31
+ universalIdentifier: '8415c68b-d508-4c82-ae57-a898bb5c8c3c',
32
+ fieldValue: 'IN_REVIEW',
33
+ position: 1,
34
+ isVisible: true,
35
+ },
36
+ {
37
+ universalIdentifier: 'e339b81c-e1ff-4062-b5e8-e66150e32111',
38
+ fieldValue: 'APPROVED',
39
+ position: 2,
40
+ isVisible: true,
41
+ },
42
+ {
43
+ universalIdentifier: 'b7fe13e8-85b0-4fea-bd84-e9c5a5112aa5',
44
+ fieldValue: 'ARCHIVED',
45
+ position: 3,
46
+ isVisible: true,
47
+ },
48
+ ],
49
+ fields: [
50
+ {
51
+ universalIdentifier:
52
+ DOCUMENTS_BY_STATUS_VIEW_FIELD_0_UNIVERSAL_IDENTIFIER,
53
+ fieldMetadataUniversalIdentifier: DOCUMENT_NAME_UNIVERSAL_IDENTIFIER,
54
+ position: 0,
55
+ isVisible: true,
56
+ size: 260,
57
+ },
58
+ {
59
+ universalIdentifier:
60
+ DOCUMENTS_BY_STATUS_VIEW_FIELD_1_UNIVERSAL_IDENTIFIER,
61
+ fieldMetadataUniversalIdentifier: DOCUMENT_STATUS_UNIVERSAL_IDENTIFIER,
62
+ position: 1,
63
+ isVisible: true,
64
+ size: 160,
65
+ },
66
+ {
67
+ universalIdentifier:
68
+ DOCUMENTS_BY_STATUS_VIEW_FIELD_2_UNIVERSAL_IDENTIFIER,
69
+ fieldMetadataUniversalIdentifier:
70
+ DOCUMENT_RESPONSIBLE_UNIVERSAL_IDENTIFIER,
71
+ position: 2,
72
+ isVisible: true,
73
+ size: 180,
74
+ },
75
+ ],
76
+ });
package/tsconfig.json ADDED
@@ -0,0 +1,37 @@
1
+ {
2
+ "compileOnSave": false,
3
+ "compilerOptions": {
4
+ "sourceMap": true,
5
+ "declaration": true,
6
+ "outDir": "./dist",
7
+ "rootDir": ".",
8
+ "jsx": "react-jsx",
9
+ "moduleResolution": "bundler",
10
+ "allowSyntheticDefaultImports": true,
11
+ "emitDecoratorMetadata": true,
12
+ "experimentalDecorators": true,
13
+ "importHelpers": true,
14
+ "allowUnreachableCode": false,
15
+ "strict": true,
16
+ "alwaysStrict": true,
17
+ "noImplicitAny": true,
18
+ "strictBindCallApply": false,
19
+ "target": "es2020",
20
+ "module": "esnext",
21
+ "lib": ["es2020", "dom"],
22
+ "skipLibCheck": true,
23
+ "skipDefaultLibCheck": true,
24
+ "resolveJsonModule": true,
25
+ "paths": {
26
+ "src/*": ["./src/*"],
27
+ "~/*": ["./*"]
28
+ }
29
+ },
30
+ "exclude": [
31
+ "node_modules",
32
+ "dist",
33
+ "**/*.test.ts",
34
+ "**/*.spec.ts",
35
+ "**/*.integration-test.ts"
36
+ ]
37
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "extends": "./tsconfig.json",
3
+ "compilerOptions": {
4
+ "composite": true,
5
+ "types": ["vitest/globals", "node"]
6
+ },
7
+ "include": ["src/**/*.ts", "src/**/*.tsx"],
8
+ "exclude": ["node_modules", "dist"]
9
+ }
@@ -0,0 +1,14 @@
1
+ import tsconfigPaths from 'vite-tsconfig-paths';
2
+ import { defineConfig } from 'vitest/config';
3
+
4
+ export default defineConfig({
5
+ plugins: [
6
+ tsconfigPaths({
7
+ projects: ['tsconfig.spec.json'],
8
+ ignoreConfigErrors: true,
9
+ }),
10
+ ],
11
+ test: {
12
+ include: ['src/**/*.test.ts'],
13
+ },
14
+ });