ide-assi 0.702.0 → 0.705.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.
@@ -203084,64 +203084,47 @@ console.log(el, href, title);
203084
203084
  console.log(srcPath);
203085
203085
  */
203086
203086
 
203087
+ let where;
203088
+ let href;
203087
203089
 
203088
- const where = await this.#where(userPrompt, this.#getMenuInfo(), await this.#getTableList());
203089
- //this.#parent.addMessage("대상 메뉴와 테이블을 찾았습니다.")
203090
+ if (what === "C1") {
203091
+ where = await this.#where(userPrompt, this.#getMenuInfo(), await this.#getTableList());
203092
+ href = where.menu.url;
203093
+ }
203094
+ else if (what === "U1") {
203095
+ const el = ninegrid.querySelector("nx-side-menu-item.active");
203096
+ if (!el) throw new Error("관련 메뉴를 찾을 수 없습니다.");
203090
203097
 
203091
- console.log(where);
203098
+ href = el.getAttribute("href");
203099
+ const title = el.getAttribute("title");
203092
203100
 
203093
- const srcPath = this.#getSourcePath(where.menu.url);
203094
- console.log(srcPath);
203101
+ where = await this.#where(`${title}에서 ${userPrompt}`, [{url: href, title: title}], await this.#getTableList());
203102
+ }
203103
+ else {
203104
+ throw new Error("invalid command type.");
203105
+ }
203095
203106
 
203107
+ const srcPath = this.#getSourcePath(href);
203108
+ console.log(where, srcPath);
203096
203109
 
203097
- /**
203098
- * {
203099
- * "package": "ide.assi.be.tmpla",
203100
- * "namespace": "ide.assi.be.tmpla.docmanager",
203101
- * "baseClass": "DocManager",
203102
- * "resultType": "ide.assi.core.utils.CamelCaseMap",
203103
- * "mybatis": "tmpla/DocManagerMapper.xml",
203104
- * "mybatisPullPath": "ide-assi-be/src/main/resources/mapper/tmpla/DocManagerMapper.xml",
203105
- * "controllerPullPath": "ide-assi-be/src/main/java/ide/assi/be/tmpla/controller/DocManagerController.java",
203106
- * "servicePullPath": "ide-assi-be/src/main/java/ide/assi/be/tmpla/service/DocManagerService.java",
203107
- * "javascriptPullPath": "ide-assi-fe-vite-react-js/src/views/tmpla/doc-manager.jsx"
203108
- * }
203109
- */
203110
203110
  const src = await api.post("/api/source/read", srcPath);
203111
- console.log(srcPath, src);
203112
-
203113
- /**
203114
- const response = await fetch(srcPath.javascript);
203115
- src.javascript = await response.text();*/
203116
-
203117
- //console.log(src);
203118
- //const template = await fetch(path).then(res => res.text());
203119
- /*
203120
- arr.push({
203121
- //menuId: elem.getAttribute("menu-id"),
203122
- url: elem.getAttribute("href"),
203123
- title: elem.getAttribute("title"),
203124
- })*/
203125
-
203126
-
203127
-
203128
-
203111
+ console.log(src);
203129
203112
 
203130
- //const where = await this.#where(`${title}에서 ${userPrompt}`, [{url: href, title: title}], await this.#getTableList());
203131
- //this.#parent.addMessage("대상 메뉴와 테이블을 찾았습니다.");
203132
203113
  progressMessageInstance.updateProgress('prepare2', 'completed');
203133
203114
 
203134
- //console.log(where);
203135
-
203136
- //const srcPath = this.#getSourcePath(where.menu.url);
203137
-
203138
-
203139
203115
 
203140
203116
  const columnInfo = await this.#getColumnInfo(where.table);
203141
203117
 
203142
- let mybatisXmlSource;
203118
+ let generatedSource = {
203119
+ mybatis: src.mybatis,
203120
+ service: src.service,
203121
+ controller: src.controller,
203122
+ javascriptFrom: src.javascriptFrom,
203123
+ javascriptTo: src.javascriptTo,
203124
+ };
203125
+
203143
203126
  if (apply.mybatis) {
203144
- mybatisXmlSource = await this.#generateTmplFile("/prompts/meta/U.BuildMyBatisMapper.txt", "mybatis.xml", {
203127
+ generatedSource.mybatis = await this.#generateTmplFile("/prompts/meta/U.BuildMyBatisMapper.txt", "mybatis.xml", {
203145
203128
  userPrompt: userPrompt,
203146
203129
  originSrc: src.mybatis,
203147
203130
  resultType: srcPath.resultType,
@@ -203151,13 +203134,9 @@ console.log(el, href, title);
203151
203134
  //this.#parent.addMessage("MyBatis 소스파일을 생성했습니다.");
203152
203135
  progressMessageInstance.updateProgress('mybatis', 'completed');
203153
203136
  }
203154
- else {
203155
- mybatisXmlSource = src.mybatis;
203156
- }
203157
203137
 
203158
- let serviceSrc;
203159
203138
  if (apply.service) {
203160
- serviceSrc = await this.#generateTmplFile("/prompts/meta/U.BuildService.txt", "service.java", {
203139
+ generatedSource.service = await this.#generateTmplFile("/prompts/meta/U.BuildService.txt", "service.java", {
203161
203140
  userPrompt: userPrompt,
203162
203141
  originSrc: src.service,
203163
203142
  baseClass: srcPath.baseClass,
@@ -203169,13 +203148,9 @@ console.log(el, href, title);
203169
203148
  //this.#parent.addMessage("Java(Service) 소스파일을 생성했습니다.");
203170
203149
  progressMessageInstance.updateProgress('service', 'completed');
203171
203150
  }
203172
- else {
203173
- serviceSrc = src.service;
203174
- }
203175
203151
 
203176
- let controllerSrc;
203177
203152
  if (apply.controller) {
203178
- controllerSrc = await this.#generateTmplFile("/prompts/meta/U.BuildController.txt", "controller.java", {
203153
+ generatedSource.controller = await this.#generateTmplFile("/prompts/meta/U.BuildController.txt", "controller.java", {
203179
203154
  userPrompt: userPrompt,
203180
203155
  originSrc: src.controller,
203181
203156
  baseClass: srcPath.baseClass,
@@ -203186,13 +203161,9 @@ console.log(el, href, title);
203186
203161
  //this.#parent.addMessage("Java(Controller) 소스파일을 생성했습니다.");
203187
203162
  progressMessageInstance.updateProgress('controller', 'completed');
203188
203163
  }
203189
- else {
203190
- controllerSrc = src.controller;
203191
- }
203192
203164
 
203193
- let jsSrc;
203194
203165
  if (apply.javascript) {
203195
- jsSrc = await this.#generateTmplFile(this.prompt.react.filter(item => item.includes(".main.") || item.includes(".all.")), "react.jsx", {
203166
+ generatedSource.javascriptFrom = await this.#generateTmplFile(this.prompt.react.filter(item => item.includes(".main.") || item.includes(".all.")), "react.jsx", {
203196
203167
  userPrompt: userPrompt,
203197
203168
  mybatis: srcPath.mybatis,
203198
203169
  originSrc: src.javascriptFrom,
@@ -203206,9 +203177,6 @@ console.log(el, href, title);
203206
203177
  //this.#parent.addMessage("Jsx(React) 소스파일을 생성했습니다.");
203207
203178
  progressMessageInstance.updateProgress('javascript', 'completed');
203208
203179
  }
203209
- else {
203210
- jsSrc = src.javascript;
203211
- }
203212
203180
 
203213
203181
  //await this.#generateRealFile(srcPath, apply);
203214
203182
 
@@ -203217,22 +203185,31 @@ console.log(el, href, title);
203217
203185
  const mapping = {
203218
203186
  mybatis: {
203219
203187
  path: srcPath.mybatisPullPath,
203220
- src: mybatisXmlSource,
203188
+ src: generatedSource.mybatis,
203221
203189
  },
203222
203190
  service: {
203223
203191
  path: srcPath.servicePullPath,
203224
- src: serviceSrc,
203192
+ src: generatedSource.service,
203225
203193
  },
203226
203194
  controller: {
203227
203195
  path: srcPath.controllerPullPath,
203228
- src: controllerSrc,
203196
+ src: generatedSource.controller,
203197
+ },
203198
+ javascriptFrom: {
203199
+ path: srcPath.javascriptFrom,
203200
+ src: generatedSource.javascriptFrom,
203201
+ },
203202
+ javascriptTo: {
203203
+ path: srcPath.javascriptTo,
203204
+ src: generatedSource.javascriptTo,
203229
203205
  },
203230
- javascript: {
203231
- path: srcPath.javascriptPullPath,
203232
- src: jsSrc,
203233
- }
203234
203206
  };
203235
203207
 
203208
+ if (apply.javascript) {
203209
+ apply.javascriptFrom = true;
203210
+ apply.javascriptTo = true;
203211
+ }
203212
+
203236
203213
  for (const key in apply) {
203237
203214
  if (apply[key]) {
203238
203215
  returnSrc.push({
@@ -204748,7 +204725,7 @@ class IdeDiffPopup extends HTMLElement
204748
204725
  //this.shadowRoot.querySelector('nx-tab').tabpage.hide("mybatis");
204749
204726
 
204750
204727
  tab.shadowRoot.querySelectorAll(".tab-button").forEach((el,index) => {
204751
- el.innerHTML = getTitle(ninegrid.decode(index, 0, "mybatis", 1, "service", 2, "controller", 3, "javascript", "javascript2"));
204728
+ el.innerHTML = getTitle(ninegrid.decode(index, 0, "mybatis", 1, "service", 2, "controller", 3, "javascriptFrom", "javascriptTo"));
204752
204729
  });
204753
204730
 
204754
204731
  tab.initialize();
@@ -203080,64 +203080,47 @@ console.log(el, href, title);
203080
203080
  console.log(srcPath);
203081
203081
  */
203082
203082
 
203083
+ let where;
203084
+ let href;
203083
203085
 
203084
- const where = await this.#where(userPrompt, this.#getMenuInfo(), await this.#getTableList());
203085
- //this.#parent.addMessage("대상 메뉴와 테이블을 찾았습니다.")
203086
+ if (what === "C1") {
203087
+ where = await this.#where(userPrompt, this.#getMenuInfo(), await this.#getTableList());
203088
+ href = where.menu.url;
203089
+ }
203090
+ else if (what === "U1") {
203091
+ const el = ninegrid.querySelector("nx-side-menu-item.active");
203092
+ if (!el) throw new Error("관련 메뉴를 찾을 수 없습니다.");
203086
203093
 
203087
- console.log(where);
203094
+ href = el.getAttribute("href");
203095
+ const title = el.getAttribute("title");
203088
203096
 
203089
- const srcPath = this.#getSourcePath(where.menu.url);
203090
- console.log(srcPath);
203097
+ where = await this.#where(`${title}에서 ${userPrompt}`, [{url: href, title: title}], await this.#getTableList());
203098
+ }
203099
+ else {
203100
+ throw new Error("invalid command type.");
203101
+ }
203091
203102
 
203103
+ const srcPath = this.#getSourcePath(href);
203104
+ console.log(where, srcPath);
203092
203105
 
203093
- /**
203094
- * {
203095
- * "package": "ide.assi.be.tmpla",
203096
- * "namespace": "ide.assi.be.tmpla.docmanager",
203097
- * "baseClass": "DocManager",
203098
- * "resultType": "ide.assi.core.utils.CamelCaseMap",
203099
- * "mybatis": "tmpla/DocManagerMapper.xml",
203100
- * "mybatisPullPath": "ide-assi-be/src/main/resources/mapper/tmpla/DocManagerMapper.xml",
203101
- * "controllerPullPath": "ide-assi-be/src/main/java/ide/assi/be/tmpla/controller/DocManagerController.java",
203102
- * "servicePullPath": "ide-assi-be/src/main/java/ide/assi/be/tmpla/service/DocManagerService.java",
203103
- * "javascriptPullPath": "ide-assi-fe-vite-react-js/src/views/tmpla/doc-manager.jsx"
203104
- * }
203105
- */
203106
203106
  const src = await api.post("/api/source/read", srcPath);
203107
- console.log(srcPath, src);
203108
-
203109
- /**
203110
- const response = await fetch(srcPath.javascript);
203111
- src.javascript = await response.text();*/
203112
-
203113
- //console.log(src);
203114
- //const template = await fetch(path).then(res => res.text());
203115
- /*
203116
- arr.push({
203117
- //menuId: elem.getAttribute("menu-id"),
203118
- url: elem.getAttribute("href"),
203119
- title: elem.getAttribute("title"),
203120
- })*/
203121
-
203122
-
203123
-
203124
-
203107
+ console.log(src);
203125
203108
 
203126
- //const where = await this.#where(`${title}에서 ${userPrompt}`, [{url: href, title: title}], await this.#getTableList());
203127
- //this.#parent.addMessage("대상 메뉴와 테이블을 찾았습니다.");
203128
203109
  progressMessageInstance.updateProgress('prepare2', 'completed');
203129
203110
 
203130
- //console.log(where);
203131
-
203132
- //const srcPath = this.#getSourcePath(where.menu.url);
203133
-
203134
-
203135
203111
 
203136
203112
  const columnInfo = await this.#getColumnInfo(where.table);
203137
203113
 
203138
- let mybatisXmlSource;
203114
+ let generatedSource = {
203115
+ mybatis: src.mybatis,
203116
+ service: src.service,
203117
+ controller: src.controller,
203118
+ javascriptFrom: src.javascriptFrom,
203119
+ javascriptTo: src.javascriptTo,
203120
+ };
203121
+
203139
203122
  if (apply.mybatis) {
203140
- mybatisXmlSource = await this.#generateTmplFile("/prompts/meta/U.BuildMyBatisMapper.txt", "mybatis.xml", {
203123
+ generatedSource.mybatis = await this.#generateTmplFile("/prompts/meta/U.BuildMyBatisMapper.txt", "mybatis.xml", {
203141
203124
  userPrompt: userPrompt,
203142
203125
  originSrc: src.mybatis,
203143
203126
  resultType: srcPath.resultType,
@@ -203147,13 +203130,9 @@ console.log(el, href, title);
203147
203130
  //this.#parent.addMessage("MyBatis 소스파일을 생성했습니다.");
203148
203131
  progressMessageInstance.updateProgress('mybatis', 'completed');
203149
203132
  }
203150
- else {
203151
- mybatisXmlSource = src.mybatis;
203152
- }
203153
203133
 
203154
- let serviceSrc;
203155
203134
  if (apply.service) {
203156
- serviceSrc = await this.#generateTmplFile("/prompts/meta/U.BuildService.txt", "service.java", {
203135
+ generatedSource.service = await this.#generateTmplFile("/prompts/meta/U.BuildService.txt", "service.java", {
203157
203136
  userPrompt: userPrompt,
203158
203137
  originSrc: src.service,
203159
203138
  baseClass: srcPath.baseClass,
@@ -203165,13 +203144,9 @@ console.log(el, href, title);
203165
203144
  //this.#parent.addMessage("Java(Service) 소스파일을 생성했습니다.");
203166
203145
  progressMessageInstance.updateProgress('service', 'completed');
203167
203146
  }
203168
- else {
203169
- serviceSrc = src.service;
203170
- }
203171
203147
 
203172
- let controllerSrc;
203173
203148
  if (apply.controller) {
203174
- controllerSrc = await this.#generateTmplFile("/prompts/meta/U.BuildController.txt", "controller.java", {
203149
+ generatedSource.controller = await this.#generateTmplFile("/prompts/meta/U.BuildController.txt", "controller.java", {
203175
203150
  userPrompt: userPrompt,
203176
203151
  originSrc: src.controller,
203177
203152
  baseClass: srcPath.baseClass,
@@ -203182,13 +203157,9 @@ console.log(el, href, title);
203182
203157
  //this.#parent.addMessage("Java(Controller) 소스파일을 생성했습니다.");
203183
203158
  progressMessageInstance.updateProgress('controller', 'completed');
203184
203159
  }
203185
- else {
203186
- controllerSrc = src.controller;
203187
- }
203188
203160
 
203189
- let jsSrc;
203190
203161
  if (apply.javascript) {
203191
- jsSrc = await this.#generateTmplFile(this.prompt.react.filter(item => item.includes(".main.") || item.includes(".all.")), "react.jsx", {
203162
+ generatedSource.javascriptFrom = await this.#generateTmplFile(this.prompt.react.filter(item => item.includes(".main.") || item.includes(".all.")), "react.jsx", {
203192
203163
  userPrompt: userPrompt,
203193
203164
  mybatis: srcPath.mybatis,
203194
203165
  originSrc: src.javascriptFrom,
@@ -203202,9 +203173,6 @@ console.log(el, href, title);
203202
203173
  //this.#parent.addMessage("Jsx(React) 소스파일을 생성했습니다.");
203203
203174
  progressMessageInstance.updateProgress('javascript', 'completed');
203204
203175
  }
203205
- else {
203206
- jsSrc = src.javascript;
203207
- }
203208
203176
 
203209
203177
  //await this.#generateRealFile(srcPath, apply);
203210
203178
 
@@ -203213,22 +203181,31 @@ console.log(el, href, title);
203213
203181
  const mapping = {
203214
203182
  mybatis: {
203215
203183
  path: srcPath.mybatisPullPath,
203216
- src: mybatisXmlSource,
203184
+ src: generatedSource.mybatis,
203217
203185
  },
203218
203186
  service: {
203219
203187
  path: srcPath.servicePullPath,
203220
- src: serviceSrc,
203188
+ src: generatedSource.service,
203221
203189
  },
203222
203190
  controller: {
203223
203191
  path: srcPath.controllerPullPath,
203224
- src: controllerSrc,
203192
+ src: generatedSource.controller,
203193
+ },
203194
+ javascriptFrom: {
203195
+ path: srcPath.javascriptFrom,
203196
+ src: generatedSource.javascriptFrom,
203197
+ },
203198
+ javascriptTo: {
203199
+ path: srcPath.javascriptTo,
203200
+ src: generatedSource.javascriptTo,
203225
203201
  },
203226
- javascript: {
203227
- path: srcPath.javascriptPullPath,
203228
- src: jsSrc,
203229
- }
203230
203202
  };
203231
203203
 
203204
+ if (apply.javascript) {
203205
+ apply.javascriptFrom = true;
203206
+ apply.javascriptTo = true;
203207
+ }
203208
+
203232
203209
  for (const key in apply) {
203233
203210
  if (apply[key]) {
203234
203211
  returnSrc.push({
@@ -204744,7 +204721,7 @@ class IdeDiffPopup extends HTMLElement
204744
204721
  //this.shadowRoot.querySelector('nx-tab').tabpage.hide("mybatis");
204745
204722
 
204746
204723
  tab.shadowRoot.querySelectorAll(".tab-button").forEach((el,index) => {
204747
- el.innerHTML = getTitle(ninegrid.decode(index, 0, "mybatis", 1, "service", 2, "controller", 3, "javascript", "javascript2"));
204724
+ el.innerHTML = getTitle(ninegrid.decode(index, 0, "mybatis", 1, "service", 2, "controller", 3, "javascriptFrom", "javascriptTo"));
204748
204725
  });
204749
204726
 
204750
204727
  tab.initialize();
@@ -558,64 +558,47 @@ console.log(el, href, title);
558
558
  console.log(srcPath);
559
559
  */
560
560
 
561
+ let where;
562
+ let href;
561
563
 
562
- const where = await this.#where(userPrompt, this.#getMenuInfo(), await this.#getTableList());
563
- //this.#parent.addMessage("대상 메뉴와 테이블을 찾았습니다.")
564
+ if (what === "C1") {
565
+ where = await this.#where(userPrompt, this.#getMenuInfo(), await this.#getTableList());
566
+ href = where.menu.url;
567
+ }
568
+ else if (what === "U1") {
569
+ const el = ninegrid.querySelector("nx-side-menu-item.active");
570
+ if (!el) throw new Error("관련 메뉴를 찾을 수 없습니다.");
564
571
 
565
- console.log(where);
572
+ href = el.getAttribute("href");
573
+ const title = el.getAttribute("title");
566
574
 
567
- const srcPath = this.#getSourcePath(where.menu.url);
568
- console.log(srcPath);
575
+ where = await this.#where(`${title}에서 ${userPrompt}`, [{url: href, title: title}], await this.#getTableList());
576
+ }
577
+ else {
578
+ throw new Error("invalid command type.");
579
+ }
569
580
 
581
+ const srcPath = this.#getSourcePath(href);
582
+ console.log(where, srcPath);
570
583
 
571
- /**
572
- * {
573
- * "package": "ide.assi.be.tmpla",
574
- * "namespace": "ide.assi.be.tmpla.docmanager",
575
- * "baseClass": "DocManager",
576
- * "resultType": "ide.assi.core.utils.CamelCaseMap",
577
- * "mybatis": "tmpla/DocManagerMapper.xml",
578
- * "mybatisPullPath": "ide-assi-be/src/main/resources/mapper/tmpla/DocManagerMapper.xml",
579
- * "controllerPullPath": "ide-assi-be/src/main/java/ide/assi/be/tmpla/controller/DocManagerController.java",
580
- * "servicePullPath": "ide-assi-be/src/main/java/ide/assi/be/tmpla/service/DocManagerService.java",
581
- * "javascriptPullPath": "ide-assi-fe-vite-react-js/src/views/tmpla/doc-manager.jsx"
582
- * }
583
- */
584
584
  const src = await api.post("/api/source/read", srcPath);
585
- console.log(srcPath, src);
586
-
587
- /**
588
- const response = await fetch(srcPath.javascript);
589
- src.javascript = await response.text();*/
590
-
591
- //console.log(src);
592
- //const template = await fetch(path).then(res => res.text());
593
- /*
594
- arr.push({
595
- //menuId: elem.getAttribute("menu-id"),
596
- url: elem.getAttribute("href"),
597
- title: elem.getAttribute("title"),
598
- })*/
599
-
600
-
601
-
602
-
585
+ console.log(src);
603
586
 
604
- //const where = await this.#where(`${title}에서 ${userPrompt}`, [{url: href, title: title}], await this.#getTableList());
605
- //this.#parent.addMessage("대상 메뉴와 테이블을 찾았습니다.");
606
587
  progressMessageInstance.updateProgress('prepare2', 'completed');
607
588
 
608
- //console.log(where);
609
-
610
- //const srcPath = this.#getSourcePath(where.menu.url);
611
-
612
-
613
589
 
614
590
  const columnInfo = await this.#getColumnInfo(where.table);
615
591
 
616
- let mybatisXmlSource;
592
+ let generatedSource = {
593
+ mybatis: src.mybatis,
594
+ service: src.service,
595
+ controller: src.controller,
596
+ javascriptFrom: src.javascriptFrom,
597
+ javascriptTo: src.javascriptTo,
598
+ };
599
+
617
600
  if (apply.mybatis) {
618
- mybatisXmlSource = await this.#generateTmplFile("/prompts/meta/U.BuildMyBatisMapper.txt", "mybatis.xml", {
601
+ generatedSource.mybatis = await this.#generateTmplFile("/prompts/meta/U.BuildMyBatisMapper.txt", "mybatis.xml", {
619
602
  userPrompt: userPrompt,
620
603
  originSrc: src.mybatis,
621
604
  resultType: srcPath.resultType,
@@ -625,13 +608,9 @@ console.log(el, href, title);
625
608
  //this.#parent.addMessage("MyBatis 소스파일을 생성했습니다.");
626
609
  progressMessageInstance.updateProgress('mybatis', 'completed');
627
610
  }
628
- else {
629
- mybatisXmlSource = src.mybatis;
630
- }
631
611
 
632
- let serviceSrc;
633
612
  if (apply.service) {
634
- serviceSrc = await this.#generateTmplFile("/prompts/meta/U.BuildService.txt", "service.java", {
613
+ generatedSource.service = await this.#generateTmplFile("/prompts/meta/U.BuildService.txt", "service.java", {
635
614
  userPrompt: userPrompt,
636
615
  originSrc: src.service,
637
616
  baseClass: srcPath.baseClass,
@@ -643,13 +622,9 @@ console.log(el, href, title);
643
622
  //this.#parent.addMessage("Java(Service) 소스파일을 생성했습니다.");
644
623
  progressMessageInstance.updateProgress('service', 'completed');
645
624
  }
646
- else {
647
- serviceSrc = src.service;
648
- }
649
625
 
650
- let controllerSrc;
651
626
  if (apply.controller) {
652
- controllerSrc = await this.#generateTmplFile("/prompts/meta/U.BuildController.txt", "controller.java", {
627
+ generatedSource.controller = await this.#generateTmplFile("/prompts/meta/U.BuildController.txt", "controller.java", {
653
628
  userPrompt: userPrompt,
654
629
  originSrc: src.controller,
655
630
  baseClass: srcPath.baseClass,
@@ -660,13 +635,9 @@ console.log(el, href, title);
660
635
  //this.#parent.addMessage("Java(Controller) 소스파일을 생성했습니다.");
661
636
  progressMessageInstance.updateProgress('controller', 'completed');
662
637
  }
663
- else {
664
- controllerSrc = src.controller;
665
- }
666
638
 
667
- let jsSrc;
668
639
  if (apply.javascript) {
669
- jsSrc = await this.#generateTmplFile(this.prompt.react.filter(item => item.includes(".main.") || item.includes(".all.")), "react.jsx", {
640
+ generatedSource.javascriptFrom = await this.#generateTmplFile(this.prompt.react.filter(item => item.includes(".main.") || item.includes(".all.")), "react.jsx", {
670
641
  userPrompt: userPrompt,
671
642
  mybatis: srcPath.mybatis,
672
643
  originSrc: src.javascriptFrom,
@@ -680,9 +651,6 @@ console.log(el, href, title);
680
651
  //this.#parent.addMessage("Jsx(React) 소스파일을 생성했습니다.");
681
652
  progressMessageInstance.updateProgress('javascript', 'completed');
682
653
  }
683
- else {
684
- jsSrc = src.javascript;
685
- }
686
654
 
687
655
  //await this.#generateRealFile(srcPath, apply);
688
656
 
@@ -691,22 +659,31 @@ console.log(el, href, title);
691
659
  const mapping = {
692
660
  mybatis: {
693
661
  path: srcPath.mybatisPullPath,
694
- src: mybatisXmlSource,
662
+ src: generatedSource.mybatis,
695
663
  },
696
664
  service: {
697
665
  path: srcPath.servicePullPath,
698
- src: serviceSrc,
666
+ src: generatedSource.service,
699
667
  },
700
668
  controller: {
701
669
  path: srcPath.controllerPullPath,
702
- src: controllerSrc,
670
+ src: generatedSource.controller,
671
+ },
672
+ javascriptFrom: {
673
+ path: srcPath.javascriptFrom,
674
+ src: generatedSource.javascriptFrom,
675
+ },
676
+ javascriptTo: {
677
+ path: srcPath.javascriptTo,
678
+ src: generatedSource.javascriptTo,
703
679
  },
704
- javascript: {
705
- path: srcPath.javascriptPullPath,
706
- src: jsSrc,
707
- }
708
680
  };
709
681
 
682
+ if (apply.javascript) {
683
+ apply.javascriptFrom = true;
684
+ apply.javascriptTo = true;
685
+ }
686
+
710
687
  for (const key in apply) {
711
688
  if (apply[key]) {
712
689
  returnSrc.push({
@@ -137,7 +137,7 @@ class IdeDiffPopup extends HTMLElement
137
137
  //this.shadowRoot.querySelector('nx-tab').tabpage.hide("mybatis");
138
138
 
139
139
  tab.shadowRoot.querySelectorAll(".tab-button").forEach((el,index) => {
140
- el.innerHTML = getTitle(ninegrid.decode(index, 0, "mybatis", 1, "service", 2, "controller", 3, "javascript", "javascript2"));
140
+ el.innerHTML = getTitle(ninegrid.decode(index, 0, "mybatis", 1, "service", 2, "controller", 3, "javascriptFrom", "javascriptTo"));
141
141
  });
142
142
 
143
143
  tab.initialize();
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "ide-assi",
3
3
  "type": "module",
4
- "version": "0.702.0",
4
+ "version": "0.705.0",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
7
  "exports": {
@@ -558,64 +558,47 @@ console.log(el, href, title);
558
558
  console.log(srcPath);
559
559
  */
560
560
 
561
+ let where;
562
+ let href;
561
563
 
562
- const where = await this.#where(userPrompt, this.#getMenuInfo(), await this.#getTableList());
563
- //this.#parent.addMessage("대상 메뉴와 테이블을 찾았습니다.")
564
+ if (what === "C1") {
565
+ where = await this.#where(userPrompt, this.#getMenuInfo(), await this.#getTableList());
566
+ href = where.menu.url;
567
+ }
568
+ else if (what === "U1") {
569
+ const el = ninegrid.querySelector("nx-side-menu-item.active");
570
+ if (!el) throw new Error("관련 메뉴를 찾을 수 없습니다.");
564
571
 
565
- console.log(where);
572
+ href = el.getAttribute("href");
573
+ const title = el.getAttribute("title");
566
574
 
567
- const srcPath = this.#getSourcePath(where.menu.url);
568
- console.log(srcPath);
575
+ where = await this.#where(`${title}에서 ${userPrompt}`, [{url: href, title: title}], await this.#getTableList());
576
+ }
577
+ else {
578
+ throw new Error("invalid command type.");
579
+ }
569
580
 
581
+ const srcPath = this.#getSourcePath(href);
582
+ console.log(where, srcPath);
570
583
 
571
- /**
572
- * {
573
- * "package": "ide.assi.be.tmpla",
574
- * "namespace": "ide.assi.be.tmpla.docmanager",
575
- * "baseClass": "DocManager",
576
- * "resultType": "ide.assi.core.utils.CamelCaseMap",
577
- * "mybatis": "tmpla/DocManagerMapper.xml",
578
- * "mybatisPullPath": "ide-assi-be/src/main/resources/mapper/tmpla/DocManagerMapper.xml",
579
- * "controllerPullPath": "ide-assi-be/src/main/java/ide/assi/be/tmpla/controller/DocManagerController.java",
580
- * "servicePullPath": "ide-assi-be/src/main/java/ide/assi/be/tmpla/service/DocManagerService.java",
581
- * "javascriptPullPath": "ide-assi-fe-vite-react-js/src/views/tmpla/doc-manager.jsx"
582
- * }
583
- */
584
584
  const src = await api.post("/api/source/read", srcPath);
585
- console.log(srcPath, src);
586
-
587
- /**
588
- const response = await fetch(srcPath.javascript);
589
- src.javascript = await response.text();*/
590
-
591
- //console.log(src);
592
- //const template = await fetch(path).then(res => res.text());
593
- /*
594
- arr.push({
595
- //menuId: elem.getAttribute("menu-id"),
596
- url: elem.getAttribute("href"),
597
- title: elem.getAttribute("title"),
598
- })*/
599
-
600
-
601
-
602
-
585
+ console.log(src);
603
586
 
604
- //const where = await this.#where(`${title}에서 ${userPrompt}`, [{url: href, title: title}], await this.#getTableList());
605
- //this.#parent.addMessage("대상 메뉴와 테이블을 찾았습니다.");
606
587
  progressMessageInstance.updateProgress('prepare2', 'completed');
607
588
 
608
- //console.log(where);
609
-
610
- //const srcPath = this.#getSourcePath(where.menu.url);
611
-
612
-
613
589
 
614
590
  const columnInfo = await this.#getColumnInfo(where.table);
615
591
 
616
- let mybatisXmlSource;
592
+ let generatedSource = {
593
+ mybatis: src.mybatis,
594
+ service: src.service,
595
+ controller: src.controller,
596
+ javascriptFrom: src.javascriptFrom,
597
+ javascriptTo: src.javascriptTo,
598
+ };
599
+
617
600
  if (apply.mybatis) {
618
- mybatisXmlSource = await this.#generateTmplFile("/prompts/meta/U.BuildMyBatisMapper.txt", "mybatis.xml", {
601
+ generatedSource.mybatis = await this.#generateTmplFile("/prompts/meta/U.BuildMyBatisMapper.txt", "mybatis.xml", {
619
602
  userPrompt: userPrompt,
620
603
  originSrc: src.mybatis,
621
604
  resultType: srcPath.resultType,
@@ -625,13 +608,9 @@ console.log(el, href, title);
625
608
  //this.#parent.addMessage("MyBatis 소스파일을 생성했습니다.");
626
609
  progressMessageInstance.updateProgress('mybatis', 'completed');
627
610
  }
628
- else {
629
- mybatisXmlSource = src.mybatis;
630
- }
631
611
 
632
- let serviceSrc;
633
612
  if (apply.service) {
634
- serviceSrc = await this.#generateTmplFile("/prompts/meta/U.BuildService.txt", "service.java", {
613
+ generatedSource.service = await this.#generateTmplFile("/prompts/meta/U.BuildService.txt", "service.java", {
635
614
  userPrompt: userPrompt,
636
615
  originSrc: src.service,
637
616
  baseClass: srcPath.baseClass,
@@ -643,13 +622,9 @@ console.log(el, href, title);
643
622
  //this.#parent.addMessage("Java(Service) 소스파일을 생성했습니다.");
644
623
  progressMessageInstance.updateProgress('service', 'completed');
645
624
  }
646
- else {
647
- serviceSrc = src.service;
648
- }
649
625
 
650
- let controllerSrc;
651
626
  if (apply.controller) {
652
- controllerSrc = await this.#generateTmplFile("/prompts/meta/U.BuildController.txt", "controller.java", {
627
+ generatedSource.controller = await this.#generateTmplFile("/prompts/meta/U.BuildController.txt", "controller.java", {
653
628
  userPrompt: userPrompt,
654
629
  originSrc: src.controller,
655
630
  baseClass: srcPath.baseClass,
@@ -660,13 +635,9 @@ console.log(el, href, title);
660
635
  //this.#parent.addMessage("Java(Controller) 소스파일을 생성했습니다.");
661
636
  progressMessageInstance.updateProgress('controller', 'completed');
662
637
  }
663
- else {
664
- controllerSrc = src.controller;
665
- }
666
638
 
667
- let jsSrc;
668
639
  if (apply.javascript) {
669
- jsSrc = await this.#generateTmplFile(this.prompt.react.filter(item => item.includes(".main.") || item.includes(".all.")), "react.jsx", {
640
+ generatedSource.javascriptFrom = await this.#generateTmplFile(this.prompt.react.filter(item => item.includes(".main.") || item.includes(".all.")), "react.jsx", {
670
641
  userPrompt: userPrompt,
671
642
  mybatis: srcPath.mybatis,
672
643
  originSrc: src.javascriptFrom,
@@ -680,9 +651,6 @@ console.log(el, href, title);
680
651
  //this.#parent.addMessage("Jsx(React) 소스파일을 생성했습니다.");
681
652
  progressMessageInstance.updateProgress('javascript', 'completed');
682
653
  }
683
- else {
684
- jsSrc = src.javascript;
685
- }
686
654
 
687
655
  //await this.#generateRealFile(srcPath, apply);
688
656
 
@@ -691,22 +659,31 @@ console.log(el, href, title);
691
659
  const mapping = {
692
660
  mybatis: {
693
661
  path: srcPath.mybatisPullPath,
694
- src: mybatisXmlSource,
662
+ src: generatedSource.mybatis,
695
663
  },
696
664
  service: {
697
665
  path: srcPath.servicePullPath,
698
- src: serviceSrc,
666
+ src: generatedSource.service,
699
667
  },
700
668
  controller: {
701
669
  path: srcPath.controllerPullPath,
702
- src: controllerSrc,
670
+ src: generatedSource.controller,
671
+ },
672
+ javascriptFrom: {
673
+ path: srcPath.javascriptFrom,
674
+ src: generatedSource.javascriptFrom,
675
+ },
676
+ javascriptTo: {
677
+ path: srcPath.javascriptTo,
678
+ src: generatedSource.javascriptTo,
703
679
  },
704
- javascript: {
705
- path: srcPath.javascriptPullPath,
706
- src: jsSrc,
707
- }
708
680
  };
709
681
 
682
+ if (apply.javascript) {
683
+ apply.javascriptFrom = true;
684
+ apply.javascriptTo = true;
685
+ }
686
+
710
687
  for (const key in apply) {
711
688
  if (apply[key]) {
712
689
  returnSrc.push({
@@ -137,7 +137,7 @@ class IdeDiffPopup extends HTMLElement
137
137
  //this.shadowRoot.querySelector('nx-tab').tabpage.hide("mybatis");
138
138
 
139
139
  tab.shadowRoot.querySelectorAll(".tab-button").forEach((el,index) => {
140
- el.innerHTML = getTitle(ninegrid.decode(index, 0, "mybatis", 1, "service", 2, "controller", 3, "javascript", "javascript2"));
140
+ el.innerHTML = getTitle(ninegrid.decode(index, 0, "mybatis", 1, "service", 2, "controller", 3, "javascriptFrom", "javascriptTo"));
141
141
  });
142
142
 
143
143
  tab.initialize();