intelligent-system-design-language 0.3.13

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 (209) hide show
  1. package/.claude/agents/langium-language-designer.md +38 -0
  2. package/.claude/agents/typescript-vscode-expert.md +29 -0
  3. package/.claude/agents/ui-ux-designer.md +36 -0
  4. package/.claude/settings.local.json +33 -0
  5. package/.idea/inspectionProfiles/Project_Default.xml +7 -0
  6. package/.idea/isdl.iml +14 -0
  7. package/.idea/modules.xml +9 -0
  8. package/.idea/vcs.xml +7 -0
  9. package/.idea/watcherTasks.xml +4 -0
  10. package/.vscodeignore +18 -0
  11. package/LICENSE +674 -0
  12. package/README.md +86 -0
  13. package/bin/cli.js +4 -0
  14. package/bin/lsp.js +8 -0
  15. package/isdl.png +0 -0
  16. package/out/_backgrounds.scss +91 -0
  17. package/out/_handlebars.scss +505 -0
  18. package/out/_isdlStyles.scss +1357 -0
  19. package/out/_vuetifyOverrides.scss +425 -0
  20. package/out/_vuetifyStyles.scss +31957 -0
  21. package/out/cli/cli-util.js +39 -0
  22. package/out/cli/cli-util.js.map +1 -0
  23. package/out/cli/components/_backgrounds.scss +91 -0
  24. package/out/cli/components/_handlebars.scss +505 -0
  25. package/out/cli/components/_isdlStyles.scss +1357 -0
  26. package/out/cli/components/_vuetifyOverrides.scss +425 -0
  27. package/out/cli/components/_vuetifyStyles.scss +31957 -0
  28. package/out/cli/components/active-effect-sheet-generator.js +643 -0
  29. package/out/cli/components/active-effect-sheet-generator.js.map +1 -0
  30. package/out/cli/components/base-actor-sheet-generator.js +125 -0
  31. package/out/cli/components/base-actor-sheet-generator.js.map +1 -0
  32. package/out/cli/components/base-sheet-generator.js +525 -0
  33. package/out/cli/components/base-sheet-generator.js.map +1 -0
  34. package/out/cli/components/chat-card-generator.js +683 -0
  35. package/out/cli/components/chat-card-generator.js.map +1 -0
  36. package/out/cli/components/css-generator.js +58 -0
  37. package/out/cli/components/css-generator.js.map +1 -0
  38. package/out/cli/components/damage-roll-generator.js +173 -0
  39. package/out/cli/components/damage-roll-generator.js.map +1 -0
  40. package/out/cli/components/datamodel-generator.js +672 -0
  41. package/out/cli/components/datamodel-generator.js.map +1 -0
  42. package/out/cli/components/derived-data-generator.js +1340 -0
  43. package/out/cli/components/derived-data-generator.js.map +1 -0
  44. package/out/cli/components/hotbar-drop-hook-generator.js +95 -0
  45. package/out/cli/components/hotbar-drop-hook-generator.js.map +1 -0
  46. package/out/cli/components/init-hook-generator.js +597 -0
  47. package/out/cli/components/init-hook-generator.js.map +1 -0
  48. package/out/cli/components/keywords-generator.js +220 -0
  49. package/out/cli/components/keywords-generator.js.map +1 -0
  50. package/out/cli/components/language-generator.js +110 -0
  51. package/out/cli/components/language-generator.js.map +1 -0
  52. package/out/cli/components/measured-template-preview.js +234 -0
  53. package/out/cli/components/measured-template-preview.js.map +1 -0
  54. package/out/cli/components/method-generator.js +1812 -0
  55. package/out/cli/components/method-generator.js.map +1 -0
  56. package/out/cli/components/ready-hook-generator.js +448 -0
  57. package/out/cli/components/ready-hook-generator.js.map +1 -0
  58. package/out/cli/components/token-generator.js +138 -0
  59. package/out/cli/components/token-generator.js.map +1 -0
  60. package/out/cli/components/utils.js +176 -0
  61. package/out/cli/components/utils.js.map +1 -0
  62. package/out/cli/components/vue/base-components/vue-attribute.js +148 -0
  63. package/out/cli/components/vue/base-components/vue-attribute.js.map +1 -0
  64. package/out/cli/components/vue/base-components/vue-boolean.js +77 -0
  65. package/out/cli/components/vue/base-components/vue-boolean.js.map +1 -0
  66. package/out/cli/components/vue/base-components/vue-calculator.js +106 -0
  67. package/out/cli/components/vue/base-components/vue-calculator.js.map +1 -0
  68. package/out/cli/components/vue/base-components/vue-damage-application.js +369 -0
  69. package/out/cli/components/vue/base-components/vue-damage-application.js.map +1 -0
  70. package/out/cli/components/vue/base-components/vue-damage-bonuses.js +225 -0
  71. package/out/cli/components/vue/base-components/vue-damage-bonuses.js.map +1 -0
  72. package/out/cli/components/vue/base-components/vue-damage-resistances.js +256 -0
  73. package/out/cli/components/vue/base-components/vue-damage-resistances.js.map +1 -0
  74. package/out/cli/components/vue/base-components/vue-damage-track.js +134 -0
  75. package/out/cli/components/vue/base-components/vue-damage-track.js.map +1 -0
  76. package/out/cli/components/vue/base-components/vue-date-time.js +55 -0
  77. package/out/cli/components/vue/base-components/vue-date-time.js.map +1 -0
  78. package/out/cli/components/vue/base-components/vue-dice.js +111 -0
  79. package/out/cli/components/vue/base-components/vue-dice.js.map +1 -0
  80. package/out/cli/components/vue/base-components/vue-die.js +86 -0
  81. package/out/cli/components/vue/base-components/vue-die.js.map +1 -0
  82. package/out/cli/components/vue/base-components/vue-document-choice.js +172 -0
  83. package/out/cli/components/vue/base-components/vue-document-choice.js.map +1 -0
  84. package/out/cli/components/vue/base-components/vue-document-choices.js +203 -0
  85. package/out/cli/components/vue/base-components/vue-document-choices.js.map +1 -0
  86. package/out/cli/components/vue/base-components/vue-document-link.js +73 -0
  87. package/out/cli/components/vue/base-components/vue-document-link.js.map +1 -0
  88. package/out/cli/components/vue/base-components/vue-extended-choice.js +101 -0
  89. package/out/cli/components/vue/base-components/vue-extended-choice.js.map +1 -0
  90. package/out/cli/components/vue/base-components/vue-inventory.js +532 -0
  91. package/out/cli/components/vue/base-components/vue-inventory.js.map +1 -0
  92. package/out/cli/components/vue/base-components/vue-macro-choice.js +150 -0
  93. package/out/cli/components/vue/base-components/vue-macro-choice.js.map +1 -0
  94. package/out/cli/components/vue/base-components/vue-measured-template.js +543 -0
  95. package/out/cli/components/vue/base-components/vue-measured-template.js.map +1 -0
  96. package/out/cli/components/vue/base-components/vue-money.js +496 -0
  97. package/out/cli/components/vue/base-components/vue-money.js.map +1 -0
  98. package/out/cli/components/vue/base-components/vue-number.js +184 -0
  99. package/out/cli/components/vue/base-components/vue-number.js.map +1 -0
  100. package/out/cli/components/vue/base-components/vue-paperdoll.js +56 -0
  101. package/out/cli/components/vue/base-components/vue-paperdoll.js.map +1 -0
  102. package/out/cli/components/vue/base-components/vue-parent-property-reference.js +89 -0
  103. package/out/cli/components/vue/base-components/vue-parent-property-reference.js.map +1 -0
  104. package/out/cli/components/vue/base-components/vue-prosemirror.js +31 -0
  105. package/out/cli/components/vue/base-components/vue-prosemirror.js.map +1 -0
  106. package/out/cli/components/vue/base-components/vue-resource.js +149 -0
  107. package/out/cli/components/vue/base-components/vue-resource.js.map +1 -0
  108. package/out/cli/components/vue/base-components/vue-roll-visualizer.js +121 -0
  109. package/out/cli/components/vue/base-components/vue-roll-visualizer.js.map +1 -0
  110. package/out/cli/components/vue/base-components/vue-self-property-reference.js +75 -0
  111. package/out/cli/components/vue/base-components/vue-self-property-reference.js.map +1 -0
  112. package/out/cli/components/vue/base-components/vue-string-choice.js +111 -0
  113. package/out/cli/components/vue/base-components/vue-string-choice.js.map +1 -0
  114. package/out/cli/components/vue/base-components/vue-string-choices.js +216 -0
  115. package/out/cli/components/vue/base-components/vue-string-choices.js.map +1 -0
  116. package/out/cli/components/vue/base-components/vue-string.js +73 -0
  117. package/out/cli/components/vue/base-components/vue-string.js.map +1 -0
  118. package/out/cli/components/vue/base-components/vue-text-field.js +66 -0
  119. package/out/cli/components/vue/base-components/vue-text-field.js.map +1 -0
  120. package/out/cli/components/vue/base-components/vue-tracker.js +444 -0
  121. package/out/cli/components/vue/base-components/vue-tracker.js.map +1 -0
  122. package/out/cli/components/vue/vue-action-component-generator.js +88 -0
  123. package/out/cli/components/vue/vue-action-component-generator.js.map +1 -0
  124. package/out/cli/components/vue/vue-active-effect-sheet-generator.js +1016 -0
  125. package/out/cli/components/vue/vue-active-effect-sheet-generator.js.map +1 -0
  126. package/out/cli/components/vue/vue-base-components-generator.js +59 -0
  127. package/out/cli/components/vue/vue-base-components-generator.js.map +1 -0
  128. package/out/cli/components/vue/vue-datatable-component-generator.js +307 -0
  129. package/out/cli/components/vue/vue-datatable-component-generator.js.map +1 -0
  130. package/out/cli/components/vue/vue-datatable-sheet-class-generator.js +342 -0
  131. package/out/cli/components/vue/vue-datatable-sheet-class-generator.js.map +1 -0
  132. package/out/cli/components/vue/vue-datatable2-component-generator.js +939 -0
  133. package/out/cli/components/vue/vue-datatable2-component-generator.js.map +1 -0
  134. package/out/cli/components/vue/vue-document-creation-app.js +140 -0
  135. package/out/cli/components/vue/vue-document-creation-app.js.map +1 -0
  136. package/out/cli/components/vue/vue-document-creation-sheet.js +105 -0
  137. package/out/cli/components/vue/vue-document-creation-sheet.js.map +1 -0
  138. package/out/cli/components/vue/vue-generator.js +240 -0
  139. package/out/cli/components/vue/vue-generator.js.map +1 -0
  140. package/out/cli/components/vue/vue-mixin.js +338 -0
  141. package/out/cli/components/vue/vue-mixin.js.map +1 -0
  142. package/out/cli/components/vue/vue-pinned-datatable-component-generator.js +306 -0
  143. package/out/cli/components/vue/vue-pinned-datatable-component-generator.js.map +1 -0
  144. package/out/cli/components/vue/vue-prompt-generator.js +201 -0
  145. package/out/cli/components/vue/vue-prompt-generator.js.map +1 -0
  146. package/out/cli/components/vue/vue-prompt-sheet-class-generator.js +252 -0
  147. package/out/cli/components/vue/vue-prompt-sheet-class-generator.js.map +1 -0
  148. package/out/cli/components/vue/vue-sheet-application-generator.js +2008 -0
  149. package/out/cli/components/vue/vue-sheet-application-generator.js.map +1 -0
  150. package/out/cli/components/vue/vue-sheet-class-generator.js +484 -0
  151. package/out/cli/components/vue/vue-sheet-class-generator.js.map +1 -0
  152. package/out/cli/generator.js +659 -0
  153. package/out/cli/generator.js.map +1 -0
  154. package/out/cli/main.js +43 -0
  155. package/out/cli/main.js.map +1 -0
  156. package/out/datatables.min.css +54 -0
  157. package/out/datatables.min.js +178 -0
  158. package/out/extension/github/githubAuthProvider.js +345 -0
  159. package/out/extension/github/githubAuthProvider.js.map +1 -0
  160. package/out/extension/github/githubConfig.js +132 -0
  161. package/out/extension/github/githubConfig.js.map +1 -0
  162. package/out/extension/github/githubGistActions.js +251 -0
  163. package/out/extension/github/githubGistActions.js.map +1 -0
  164. package/out/extension/github/githubGistManager.js +255 -0
  165. package/out/extension/github/githubGistManager.js.map +1 -0
  166. package/out/extension/github/githubManager.js +1735 -0
  167. package/out/extension/github/githubManager.js.map +1 -0
  168. package/out/extension/github/githubQuickActions.js +659 -0
  169. package/out/extension/github/githubQuickActions.js.map +1 -0
  170. package/out/extension/github/githubTreeProvider.js +181 -0
  171. package/out/extension/github/githubTreeProvider.js.map +1 -0
  172. package/out/extension/github/system-workflow.yml +48 -0
  173. package/out/extension/main.cjs +70315 -0
  174. package/out/extension/main.cjs.map +7 -0
  175. package/out/extension/main.js +237 -0
  176. package/out/extension/main.js.map +1 -0
  177. package/out/extension/package.json +426 -0
  178. package/out/isdl.png +0 -0
  179. package/out/language/generated/ast.js +2992 -0
  180. package/out/language/generated/ast.js.map +1 -0
  181. package/out/language/generated/grammar.js +13970 -0
  182. package/out/language/generated/grammar.js.map +1 -0
  183. package/out/language/generated/module.js +20 -0
  184. package/out/language/generated/module.js.map +1 -0
  185. package/out/language/intelligent-system-design-language-formatter.js +85 -0
  186. package/out/language/intelligent-system-design-language-formatter.js.map +1 -0
  187. package/out/language/intelligent-system-design-language-module.js +69 -0
  188. package/out/language/intelligent-system-design-language-module.js.map +1 -0
  189. package/out/language/intelligent-system-design-language-quickfixes.js +37 -0
  190. package/out/language/intelligent-system-design-language-quickfixes.js.map +1 -0
  191. package/out/language/intelligent-system-design-language-validator.js +515 -0
  192. package/out/language/intelligent-system-design-language-validator.js.map +1 -0
  193. package/out/language/isdl-hover-provider.js +77 -0
  194. package/out/language/isdl-hover-provider.js.map +1 -0
  195. package/out/language/isdl-scope-provider.js +149 -0
  196. package/out/language/isdl-scope-provider.js.map +1 -0
  197. package/out/language/main.cjs +47655 -0
  198. package/out/language/main.cjs.map +7 -0
  199. package/out/language/main.js +11 -0
  200. package/out/language/main.js.map +1 -0
  201. package/out/missing-character.png +0 -0
  202. package/out/package.json +426 -0
  203. package/out/paperdoll_default.png +0 -0
  204. package/out/progressbar.min.js +7 -0
  205. package/out/styles.scss +722 -0
  206. package/out/test/formatting/formatter.test.js +46 -0
  207. package/out/test/formatting/formatter.test.js.map +1 -0
  208. package/out/vuetify.esm.js +30279 -0
  209. package/package.json +426 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vue-sheet-application-generator.js","sourceRoot":"","sources":["../../../../src/cli/components/vue/vue-sheet-application-generator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,484 @@
1
+ import * as path from 'node:path';
2
+ import * as fs from 'node:fs';
3
+ import { expandToNode, joinToNode, toString } from 'langium/generate';
4
+ import { isAction, isActor, isFunctionDefinition, isHtmlExp } from "../../../language/generated/ast.js";
5
+ import { humanize, titleize } from 'inflection';
6
+ import { getAllOfType, toMachineIdentifier } from '../utils.js';
7
+ import { translateBodyExpressionToJavascript, translateExpression } from '../method-generator.js';
8
+ export function generateDocumentVueSheet(entry, id, document, destination) {
9
+ const type = isActor(document) ? 'actor' : 'item';
10
+ const generatedFileDir = path.join(destination, "system", "sheets", "vue", type);
11
+ const generatedFilePath = path.join(generatedFileDir, `${document.name.toLowerCase()}-sheet.mjs`);
12
+ if (!fs.existsSync(generatedFileDir)) {
13
+ fs.mkdirSync(generatedFileDir, { recursive: true });
14
+ }
15
+ const vueComponentName = `${document.name.toLowerCase()}-${type}-app`;
16
+ const htmlElements = getAllOfType(document.body, isHtmlExp);
17
+ let actions = getAllOfType(document.body, isAction);
18
+ const functions = getAllOfType(document.body, isFunctionDefinition, false);
19
+ function generateFunctionDefinition(functionDef) {
20
+ const functionName = toMachineIdentifier(functionDef.name);
21
+ console.log(`Generating function ${functionName} for ${document.name} Vue sheet.`);
22
+ if (functionDef.params.length > 0) {
23
+ return expandToNode `
24
+ async function_${functionName}(context, update, embeddedUpdate, parentUpdate, parentEmbeddedUpdate, targetUpdate, targetEmbeddedUpdate, ${joinToNode(functionDef.params, param => expandToNode `${param.param.name}`, { separator: ', ' })}) {
25
+ let system = context.object.system;
26
+ ${translateBodyExpressionToJavascript(entry, id, functionDef.method.body, false, functionDef)}
27
+ }
28
+ `.appendNewLine();
29
+ }
30
+ return expandToNode `
31
+ async function_${functionName}(system, update, embeddedUpdate, parentUpdate, parentEmbeddedUpdate, targetUpdate, targetEmbeddedUpdate) {
32
+ const context = {
33
+ object: system,
34
+ target: game.user.getTargetOrNothing()
35
+ };
36
+ ${translateBodyExpressionToJavascript(entry, id, functionDef.method.body, false, functionDef)}
37
+ }
38
+ `.appendNewLine();
39
+ }
40
+ const fileNode = expandToNode `
41
+ import VueRenderingMixin from '../VueRenderingMixin.mjs';
42
+ import { ${document.name}${titleize(type)}App } from "../components/components.vue.es.mjs";
43
+ import ${entry.config.name}Roll from "../../../rolls/roll.mjs";
44
+ import ${entry.config.name}DamageRoll from "../../../rolls/damage-roll.mjs";
45
+ const { DOCUMENT_OWNERSHIP_LEVELS } = CONST;
46
+
47
+ export default class ${document.name}VueSheet extends VueRenderingMixin(foundry.applications.sheets.${titleize(type)}SheetV2) {
48
+
49
+ constructor(options = {}) {
50
+ super(options);
51
+ this.#dragDrop = this.#createDragDropHandlers();
52
+ }
53
+
54
+ vueParts = {
55
+ "${vueComponentName}": {
56
+ component: ${document.name}${titleize(type)}App,
57
+ template: "<${vueComponentName} :context=\\"context\\">Vue rendering for sheet failed.</${vueComponentName}>"
58
+ }
59
+ };
60
+
61
+ _arrayEntryKey = 0;
62
+ _renderKey = 0;
63
+
64
+ /** @override */
65
+ static DEFAULT_OPTIONS = {
66
+ classes: ["${id}", "sheet", "vue-sheet", "${type}", "${document.name.toLowerCase()}-sheet"],
67
+ viewPermission: DOCUMENT_OWNERSHIP_LEVELS.LIMITED,
68
+ editPermission: DOCUMENT_OWNERSHIP_LEVELS.OWNER,
69
+ position: {
70
+ width: ${type == "item" ? 1050 : 1200},
71
+ height: ${type == "item" ? 875 : 950},
72
+ },
73
+ window: {
74
+ resizable: true,
75
+ title: "${humanize(document.name)}",
76
+ controls: ${type == "item" ? expandToNode `[]` : expandToNode `[
77
+ {
78
+ action: "configurePrototypeToken",
79
+ icon: "fa-solid fa-user-circle",
80
+ label: "TOKEN.TitlePrototype",
81
+ ownership: "OWNER"
82
+ },
83
+ {
84
+ action: "showPortraitArtwork",
85
+ icon: "fa-solid fa-image",
86
+ label: "SIDEBAR.CharArt",
87
+ ownership: "OWNER"
88
+ },
89
+ {
90
+ action: "showTokenArtwork",
91
+ icon: "fa-solid fa-image",
92
+ label: "SIDEBAR.TokenArt",
93
+ ownership: "OWNER"
94
+ }
95
+ ]`}
96
+ },
97
+ tag: "form",
98
+ actions: {
99
+ onEditImage: this._onEditImage
100
+ },
101
+ changeActions: {
102
+ },
103
+ // Custom property that's merged into this.options
104
+ dragDrop: [
105
+ {dragSelector: "tr", dropSelector: ".tabs-container, .datatable-drop-zone"},
106
+ {dropSelector: ".single-document"},
107
+ {dragSelector: ".paper-doll-slot", dropSelector: ".paper-doll-slot"},
108
+ {dragSelector: ".inventory-slot.filled", dropSelector: ".inventory-grid-container"}
109
+ ],
110
+ form: {
111
+ submitOnChange: true,
112
+ submitOnClose: true,
113
+ closeOnSubmit: false,
114
+ }
115
+ };
116
+
117
+ async _prepareContext(options) {
118
+ // Output initialization
119
+ const context = {
120
+ // Validates both permissions and compendium status
121
+ editable: this.isEditable,
122
+ owner: this.document.isOwner,
123
+ limited: this.document.limited,
124
+
125
+ // Add the document.
126
+ object: this.document.toObject(),
127
+ document: this.document,
128
+
129
+ // Add the data to context.data for easier access, as well as flags.
130
+ system: this.document.system,
131
+ flags: this.document.flags,
132
+
133
+ // Roll data.
134
+ rollData: this.document.getRollData() ?? {},
135
+
136
+ // Editors
137
+ editors: {},
138
+
139
+ // Force re-renders. Defined in the vue mixin.
140
+ _renderKey: this._renderKey ?? 0,
141
+ _arrayEntryKey: this._arrayEntryKey ?? 0,
142
+ // tabs: this._getTabs(options.parts),
143
+
144
+ // Necessary for formInput and formFields helpers
145
+ fields: this.document.schema.fields,
146
+ systemFields: this.document.system.schema.fields
147
+ };
148
+
149
+ // Enrich editors
150
+ await this._enrichEditor(context, "description");
151
+ ${joinToNode(htmlElements, htmlElement => expandToNode `await this._enrichEditor(context, "${htmlElement.name.toLowerCase()}");`, { appendNewLineIfNotEmpty: true })}
152
+
153
+ // Make another pass through the editors to fix the element contents.
154
+ for (let [field, editor] of Object.entries(context.editors)) {
155
+ if (context.editors[field].element) {
156
+ context.editors[field].element.innerHTML = context.editors[field].enriched;
157
+ }
158
+ }
159
+
160
+ return context;
161
+ }
162
+
163
+ async _enrichEditor(context, field) {
164
+ const enrichmentOptions = {
165
+ // Whether to show secret blocks in the finished html
166
+ secrets: this.document.isOwner,
167
+ // Data to fill in for inline rolls
168
+ rollData: this.document.getRollData() ?? {},
169
+ // Relative UUID resolution
170
+ relativeTo: this.document
171
+ };
172
+
173
+ const editorOptions = {
174
+ toggled: true,
175
+ collaborate: true,
176
+ documentUUID: this.document.uuid,
177
+ height: 300
178
+ };
179
+
180
+ const editorValue = this.document.system?.[field] ?? foundry.utils.getProperty(this.document.system, field);
181
+ context.editors[\`system.\${field}\`] = {
182
+ enriched: await TextEditor.enrichHTML(editorValue, enrichmentOptions),
183
+ element: foundry.applications.elements.HTMLProseMirrorElement.create({
184
+ ...editorOptions,
185
+ name: \`system.\${field}\`,
186
+ value: editorValue ?? ""
187
+ })
188
+ };
189
+ }
190
+
191
+ /**
192
+ * Actions performed after any render of the Application.
193
+ * Post-render steps are not awaited by the render process.
194
+ * @param {ApplicationRenderContext} context Prepared context data
195
+ * @param {RenderOptions} options Provided render options
196
+ * @protected
197
+ */
198
+ _onRender(context, options) {
199
+ this.#dragDrop.forEach((d) => d.bind(this.element));
200
+ // You may want to add other special handling here
201
+ // Foundry comes with a large number of utility classes, e.g. SearchFilter
202
+ // That you may want to implement yourself.
203
+ }
204
+
205
+ /**
206
+ * Handle changing a Document's image.
207
+ *
208
+ * @this ArchmageBaseItemSheetV2
209
+ * @param {PointerEvent} event The originating click event
210
+ * @param {HTMLElement} target The capturing HTML element which defined a [data-action]
211
+ * @returns {Promise}
212
+ * @protected
213
+ */
214
+ static async _onEditImage(event, target) {
215
+ if (!this.isEditable) return false;
216
+ const attr = target.dataset.edit;
217
+ const current = foundry.utils.getProperty(this.document, attr);
218
+ const { img } = this.document.constructor.getDefaultArtwork?.(this.document.toObject()) ?? {};
219
+ const fp = new FilePicker({
220
+ current,
221
+ type: "image",
222
+ redirectToRoot: img ? [img] : [],
223
+ callback: (path) => {
224
+ target.src = path;
225
+ this.document.update({ [attr]: path });
226
+ this._renderKey++;
227
+ },
228
+ top: this.position.top + 40,
229
+ left: this.position.left + 10
230
+ });
231
+ return fp.browse();
232
+ }
233
+
234
+ _prepareSubmitData(event, form, formData) {
235
+ // We don't modify the image via the sheet itself, so we can remove it from the submit data to avoid errors.
236
+ delete formData.object.img;
237
+ return super._prepareSubmitData(event, form, formData);
238
+ }
239
+
240
+ // Drag and Drop
241
+
242
+ /**
243
+ * Returns an array of DragDrop instances
244
+ * @type {DragDrop[]}
245
+ */
246
+ get dragDrop() {
247
+ return this.#dragDrop;
248
+ }
249
+
250
+ /**
251
+ * Define whether a user is able to begin a dragstart workflow for a given drag selector
252
+ * @param {string} selector The candidate HTML selector for dragging
253
+ * @returns {boolean} Can the current user drag this selector?
254
+ * @protected
255
+ */
256
+ _canDragStart(selector) {
257
+ return this.isEditable;
258
+ }
259
+
260
+ /**
261
+ * Define whether a user is able to conclude a drag-and-drop workflow for a given drop selector
262
+ * @param {string} selector The candidate HTML selector for the drop target
263
+ * @returns {boolean} Can the current user drop on this selector?
264
+ * @protected
265
+ */
266
+ _canDragDrop(selector) {
267
+ return this.isEditable;
268
+ }
269
+
270
+ /**
271
+ * Callback actions which occur at the beginning of a drag start workflow.
272
+ * @param {DragEvent} event The originating DragEvent
273
+ * @protected
274
+ */
275
+ _onDragStart(event) {
276
+ if (event.currentTarget.classList.contains("paper-doll-slot")) {
277
+ // Remove the item from the slot
278
+ const name = event.currentTarget.dataset.name;
279
+ const update = {};
280
+ update[name] = null;
281
+ this.document.update(update);
282
+ }
283
+ else if (event.currentTarget.classList.contains("inventory-slot")) {
284
+ // Inventory slots - data is set by Vue component's @dragstart handler
285
+ // Nothing to do here, the Vue component handles it
286
+ return;
287
+ }
288
+ else {
289
+ // For table rows, currentTarget should already be the tr element
290
+ const tr = event.currentTarget.tagName === "TR" ? event.currentTarget : event.currentTarget.closest("tr");
291
+ if (tr) {
292
+ // Try to get UUID from data attributes
293
+ let uuid = tr.dataset.uuid;
294
+ let type = tr.dataset.type;
295
+
296
+ // If not found, try to get from item map (for Vuetify tables)
297
+ if (!uuid && tr.dataset.itemId && tr.dataset.documentId) {
298
+ const itemMap = window.isdlItemMaps?.get(tr.dataset.documentId);
299
+ if (itemMap) {
300
+ const item = itemMap.value.get(tr.dataset.itemId);
301
+ if (item) {
302
+ uuid = item.uuid;
303
+ type = item.type || 'Item';
304
+ }
305
+ }
306
+ }
307
+
308
+ if (!uuid) {
309
+ console.error("No UUID found on tr element", tr);
310
+ return;
311
+ }
312
+
313
+ const data = {
314
+ type: type == "ActiveEffect" ? "ActiveEffect" : "Item",
315
+ uuid: uuid
316
+ };
317
+
318
+ event.dataTransfer.setData("text/plain", JSON.stringify(data));
319
+ }
320
+ }
321
+ }
322
+
323
+ /**
324
+ * Callback actions which occur when a dragged element is over a drop target.
325
+ * @param {DragEvent} event The originating DragEvent
326
+ * @protected
327
+ */
328
+ _onDragOver(event) {}
329
+
330
+ /* -------------------------------------------- */
331
+
332
+ async _onDrop(event) {
333
+ const data = JSON.parse(event.dataTransfer.getData("text/plain"));
334
+
335
+ // If the drop target is a single document, handle it differently
336
+ const linkedClasses = [ "single-document", "paper-doll-slot" ];
337
+ const eventClasses = Array.from(event.currentTarget.classList);
338
+ if (eventClasses.find(c => linkedClasses.includes(c))) {
339
+ const doc = await fromUuid(data.uuid);
340
+ if ( !doc ) return;
341
+ if ( doc.type !== event.currentTarget.dataset.type ) {
342
+ ui.notifications.error(\`Expected a \${event.currentTarget.dataset.type} type Document, but got a \${doc.type} type one instead. \`);
343
+ return;
344
+ }
345
+
346
+ const update = {};
347
+ update[event.currentTarget.dataset.name] = data.uuid;
348
+ await this.document.update(update);
349
+ return;
350
+ }
351
+
352
+ const dropTypes = ["Item", "ActiveEffect"];
353
+ if ( !dropTypes.includes(data.type) ) return;
354
+ const item = await fromUuid(data.uuid);
355
+ if ( !item ) return;
356
+
357
+ // Prevent duplicates when dropping an item that's already owned by this document
358
+ if ( item.parent?.uuid === this.document.uuid ) return;
359
+
360
+ if ( data.type === "ActiveEffect" ) {
361
+ ActiveEffect.createDocuments([item], {parent: this.document})
362
+ return;
363
+ }
364
+
365
+ Item.createDocuments([item], {parent: this.document})
366
+ }
367
+
368
+ /* -------------------------------------------- */
369
+
370
+ /**
371
+ * Returns an array of DragDrop instances
372
+ * @type {DragDrop[]}
373
+ */
374
+ get dragDrop() {
375
+ return this.#dragDrop;
376
+ }
377
+
378
+ // This is marked as private because there's no real need
379
+ // for subclasses or external hooks to mess with it directly
380
+ #dragDrop;
381
+
382
+ /**
383
+ * Create drag-and-drop workflow handlers for this Application
384
+ * @returns {DragDrop[]} An array of DragDrop handlers
385
+ * @private
386
+ */
387
+ #createDragDropHandlers() {
388
+ return this.options.dragDrop.map((d) => {
389
+ d.permissions = {
390
+ dragstart: this._canDragStart.bind(this),
391
+ drop: this._canDragDrop.bind(this)
392
+ };
393
+ d.callbacks = {
394
+ dragstart: this._onDragStart.bind(this),
395
+ dragover: this._onDragOver.bind(this),
396
+ drop: this._onDrop.bind(this)
397
+ };
398
+ return new DragDrop(d);
399
+ });
400
+ }
401
+
402
+ /* -------------------------------------------- */
403
+
404
+ async _onAction(event) {
405
+ if (event.preventDefault) event.preventDefault();
406
+ const action = event.currentTarget.dataset.action;
407
+ switch ( action ) {
408
+ ${joinToNode(actions, property => `case "${property.name.toLowerCase()}": this._on${property.name}Action(event, this.document.system); break;`, { appendNewLineIfNotEmpty: true })}
409
+ }
410
+ }
411
+
412
+ ${joinToNode(actions, property => generateAction(property), { appendNewLineIfNotEmpty: true })}
413
+
414
+ /* -------------------------------------------- */
415
+
416
+ // User defined methods
417
+ ${joinToNode(functions, generateFunctionDefinition, { appendNewLineIfNotEmpty: true })}
418
+ }
419
+ `.appendNewLineIfNotEmpty();
420
+ fs.writeFileSync(generatedFilePath, toString(fileNode));
421
+ function generateAction(action) {
422
+ console.log(`Generating action ${action.name} for ${document.name} Vue sheet.`);
423
+ return expandToNode `
424
+
425
+ /* -------------------------------------------- */
426
+
427
+ async _on${action.name}Action(event, system) {
428
+ if (event.preventDefault) event.preventDefault();
429
+ let update = {};
430
+ let embeddedUpdate = {};
431
+ let parentUpdate = {};
432
+ let parentEmbeddedUpdate = {};
433
+ let targetUpdate = {};
434
+ let targetEmbeddedUpdate = {};
435
+ let selfDeleted = false;
436
+ let rerender = false;
437
+ let document = this.document;
438
+ const context = {
439
+ object: this.document,
440
+ target: game.user.getTargetOrNothing()
441
+ };
442
+ // If this is an item, attach the parent
443
+ if (document.documentName === "Item" && document.parent) {
444
+ context.actor = document.parent;
445
+ }
446
+ else {
447
+ context.actor = document;
448
+ }
449
+ ${translateExpression(entry, id, action.method, false, action)}
450
+ if (!selfDeleted && Object.keys(update).length > 0) {
451
+ await this.document.update(update);
452
+ rerender = true;
453
+ }
454
+ if (!selfDeleted && Object.keys(embeddedUpdate).length > 0) {
455
+ for (let key of Object.keys(embeddedUpdate)) {
456
+ await this.document.updateEmbeddedDocuments("Item", embeddedUpdate[key]);
457
+ }
458
+ rerender = true;
459
+ }
460
+ if (Object.keys(parentUpdate).length > 0) {
461
+ await this.document.parent.update(parentUpdate);
462
+ rerender = true;
463
+ }
464
+ if (Object.keys(parentEmbeddedUpdate).length > 0) {
465
+ for (let key of Object.keys(parentEmbeddedUpdate)) {
466
+ await document.parent.updateEmbeddedDocuments("Item", parentEmbeddedUpdate[key]);
467
+ }
468
+ }
469
+ if (Object.keys(targetUpdate).length > 0) {
470
+ await context.target.update(targetUpdate);
471
+ }
472
+ if (Object.keys(targetEmbeddedUpdate).length > 0) {
473
+ for (let key of Object.keys(targetEmbeddedUpdate)) {
474
+ await context.target.updateEmbeddedDocuments("Item", targetEmbeddedUpdate[key]);
475
+ }
476
+ }
477
+ if (rerender) {
478
+ this.render();
479
+ }
480
+ }
481
+ `;
482
+ }
483
+ }
484
+ //# sourceMappingURL=vue-sheet-class-generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vue-sheet-class-generator.js","sourceRoot":"","sources":["../../../../src/cli/components/vue/vue-sheet-class-generator.ts"],"names":[],"mappings":"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"}