@openmrs/esm-stock-management-app 1.0.1-pre.788 → 1.0.1-pre.790
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.
- package/dist/493.js +1 -1
- package/dist/493.js.map +1 -1
- package/dist/880.js +1 -0
- package/dist/880.js.map +1 -0
- package/dist/942.js +1 -0
- package/dist/942.js.map +1 -0
- package/dist/main.js +1 -1
- package/dist/main.js.map +1 -1
- package/dist/openmrs-esm-stock-management-app.js +1 -1
- package/dist/openmrs-esm-stock-management-app.js.buildmanifest.json +41 -41
- package/dist/routes.json +1 -1
- package/package.json +1 -1
- package/src/index.ts +15 -21
- package/src/routes.json +5 -4
- package/src/stock-operations/add-stock-operation/stock-operations-expanded-row/stock-operation-expanded-row.component.tsx +32 -3
- package/src/stock-operations/edit-stock-operation/edit-stock-operation-action-menu.component.tsx +2 -2
- package/src/stock-operations/stock-operation-actions.component.tsx +81 -0
- package/src/stock-operations/stock-operation-links.component.tsx +82 -0
- package/src/stock-operations/stock-operation-reference.component.tsx +2 -2
- package/src/stock-operations/stock-operation-types-selector/stock-operation-types-selector.component.tsx +2 -2
- package/src/stock-operations/stock-operation.utils.tsx +8 -13
- package/src/stock-operations/stock-operations-dialog/stock-operations-issue-stock-button.component.tsx +2 -2
- package/src/stock-operations/stock-operations-forms/step1.test.tsx +158 -17
- package/src/stock-operations/stock-operations-forms/step2.test.tsx +53 -8
- package/src/stock-operations/stock-operations-forms/step3.test.tsx +63 -10
- package/src/stock-operations/stock-operations-forms/steps/base-operation-details-form-step.tsx +11 -9
- package/src/stock-operations/stock-operations-forms/steps/received-items.component.tsx +8 -7
- package/src/stock-operations/stock-operations-forms/steps/stock-operation-item-cell.component.tsx +8 -9
- package/src/stock-operations/stock-operations-forms/steps/stock-operation-items-form-step.component.tsx +21 -46
- package/src/stock-operations/stock-operations-forms/steps/stock-operation-items-form-step.scc.scss +4 -18
- package/src/stock-operations/stock-operations-forms/steps/stock-operation-submission-form-step.component.tsx +20 -15
- package/src/stock-operations/stock-operations-forms/stock-issue-form-initializer-with-related-requisition-operation.component.tsx +20 -3
- package/src/stock-operations/stock-operations-forms/stock-item-form/stock-item-form.workspace.tsx +3 -5
- package/src/stock-operations/stock-operations-forms/stock-operation-form.component.tsx +99 -57
- package/src/stock-operations/stock-operations-forms/stock-operation-form.scss +5 -24
- package/src/stock-operations/stock-operations-forms/stock-operation-related-link.component.tsx +2 -2
- package/src/stock-operations/stock-operations-forms/stock-operation-stepper/stepper.scss +14 -11
- package/src/stock-operations/stock-operations-forms/stock-operation-stepper/stock-operation-stepper.component.tsx +2 -6
- package/src/stock-operations/stock-operations-table.scss +20 -0
- package/dist/155.js +0 -1
- package/dist/155.js.map +0 -1
- package/dist/922.js +0 -1
- package/dist/922.js.map +0 -1
- package/src/stock-operations/stock-operations-forms/stock-operation-form-header.component.tsx +0 -166
@@ -1 +1 @@
|
|
1
|
-
var _openmrs_esm_stock_management_app;(()=>{"use strict";var e,r,t,n,o,a,i,l,s,u,f,p,c,d,h,m,v,g={1371:(e,r,t)=>{var n={"./start":()=>Promise.all([t.e(935),t.e(493),t.e(672),t.e(
|
1
|
+
var _openmrs_esm_stock_management_app;(()=>{"use strict";var e,r,t,n,o,a,i,l,s,u,f,p,c,d,h,m,v,g={1371:(e,r,t)=>{var n={"./start":()=>Promise.all([t.e(935),t.e(493),t.e(672),t.e(942)]).then((()=>()=>t(8600)))},o=(e,r)=>(t.R=r,r=t.o(n,e)?n[e]():Promise.resolve().then((()=>{throw new Error('Module "'+e+'" does not exist in container.')})),t.R=void 0,r),a=(e,r)=>{if(t.S){var n="default",o=t.S[n];if(o&&o!==e)throw new Error("Container initialization failed as it has already been initialized with a different share scope");return t.S[n]=e,t.I(n,r)}};t.d(r,{get:()=>o,init:()=>a})}},b={};function y(e){var r=b[e];if(void 0!==r)return r.exports;var t=b[e]={id:e,loaded:!1,exports:{}};return g[e].call(t.exports,t,t.exports,y),t.loaded=!0,t.exports}y.m=g,y.c=b,y.n=e=>{var r=e&&e.__esModule?()=>e.default:()=>e;return y.d(r,{a:r}),r},r=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,y.t=function(t,n){if(1&n&&(t=this(t)),8&n)return t;if("object"==typeof t&&t){if(4&n&&t.__esModule)return t;if(16&n&&"function"==typeof t.then)return t}var o=Object.create(null);y.r(o);var a={};e=e||[null,r({}),r([]),r(r)];for(var i=2&n&&t;"object"==typeof i&&!~e.indexOf(i);i=r(i))Object.getOwnPropertyNames(i).forEach((e=>a[e]=()=>t[e]));return a.default=()=>t,y.d(o,a),o},y.d=(e,r)=>{for(var t in r)y.o(r,t)&&!y.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},y.f={},y.e=e=>Promise.all(Object.keys(y.f).reduce(((r,t)=>(y.f[t](e,r),r)),[])),y.u=e=>e+".js",y.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),y.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),t={},n="@openmrs/esm-stock-management-app:",y.l=(e,r,o,a)=>{if(t[e])t[e].push(r);else{var i,l;if(void 0!==o)for(var s=document.getElementsByTagName("script"),u=0;u<s.length;u++){var f=s[u];if(f.getAttribute("src")==e||f.getAttribute("data-webpack")==n+o){i=f;break}}i||(l=!0,(i=document.createElement("script")).charset="utf-8",i.timeout=120,y.nc&&i.setAttribute("nonce",y.nc),i.setAttribute("data-webpack",n+o),i.src=e),t[e]=[r];var p=(r,n)=>{i.onerror=i.onload=null,clearTimeout(c);var o=t[e];if(delete t[e],i.parentNode&&i.parentNode.removeChild(i),o&&o.forEach((e=>e(n))),r)return r(n)},c=setTimeout(p.bind(null,void 0,{type:"timeout",target:i}),12e4);i.onerror=p.bind(null,i.onerror),i.onload=p.bind(null,i.onload),l&&document.head.appendChild(i)}},y.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},y.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),(()=>{y.S={};var e={},r={};y.I=(t,n)=>{n||(n=[]);var o=r[t];if(o||(o=r[t]={}),!(n.indexOf(o)>=0)){if(n.push(o),e[t])return e[t];y.o(y.S,t)||(y.S[t]={});var a=y.S[t],i="@openmrs/esm-stock-management-app",l=(e,r,t,n)=>{var o=a[e]=a[e]||{},l=o[r];(!l||!l.loaded&&(!n!=!l.eager?n:i>l.from))&&(o[r]={get:t,from:i,eager:!!n})},s=[];return"default"===t&&(l("@openmrs/esm-framework","5.7.3-pre.2161",(()=>Promise.all([y.e(793),y.e(672)]).then((()=>()=>y(1793))))),l("dayjs","1.11.10",(()=>y.e(484).then((()=>()=>y(7484))))),l("react-i18next","11.18.6",(()=>Promise.all([y.e(672),y.e(629)]).then((()=>()=>y(707))))),l("react-router-dom","6.21.1",(()=>Promise.all([y.e(26),y.e(935),y.e(672)]).then((()=>()=>y(8026))))),l("react","18.2.0",(()=>y.e(294).then((()=>()=>y(7294))))),l("swr/_internal","2.2.5",(()=>Promise.all([y.e(46),y.e(672)]).then((()=>()=>y(46)))))),e[t]=s.length?Promise.all(s).then((()=>e[t]=1)):1}}})(),(()=>{var e;y.g.importScripts&&(e=y.g.location+"");var r=y.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName("script");if(t.length)for(var n=t.length-1;n>-1&&!e;)e=t[n--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),y.p=e})(),o=e=>{var r=e=>e.split(".").map((e=>+e==e?+e:e)),t=/^([^-+]+)?(?:-([^+]+))?(?:\+(.+))?$/.exec(e),n=t[1]?r(t[1]):[];return t[2]&&(n.length++,n.push.apply(n,r(t[2]))),t[3]&&(n.push([]),n.push.apply(n,r(t[3]))),n},a=(e,r)=>{e=o(e),r=o(r);for(var t=0;;){if(t>=e.length)return t<r.length&&"u"!=(typeof r[t])[0];var n=e[t],a=(typeof n)[0];if(t>=r.length)return"u"==a;var i=r[t],l=(typeof i)[0];if(a!=l)return"o"==a&&"n"==l||"s"==l||"u"==a;if("o"!=a&&"u"!=a&&n!=i)return n<i;t++}},i=e=>{var r=e[0],t="";if(1===e.length)return"*";if(r+.5){t+=0==r?">=":-1==r?"<":1==r?"^":2==r?"~":r>0?"=":"!=";for(var n=1,o=1;o<e.length;o++)n--,t+="u"==(typeof(l=e[o]))[0]?"-":(n>0?".":"")+(n=2,l);return t}var a=[];for(o=1;o<e.length;o++){var l=e[o];a.push(0===l?"not("+s()+")":1===l?"("+s()+" || "+s()+")":2===l?a.pop()+" "+a.pop():i(l))}return s();function s(){return a.pop().replace(/^\((.+)\)$/,"$1")}},l=(e,r)=>{if(0 in e){r=o(r);var t=e[0],n=t<0;n&&(t=-t-1);for(var a=0,i=1,s=!0;;i++,a++){var u,f,p=i<e.length?(typeof e[i])[0]:"";if(a>=r.length||"o"==(f=(typeof(u=r[a]))[0]))return!s||("u"==p?i>t&&!n:""==p!=n);if("u"==f){if(!s||"u"!=p)return!1}else if(s)if(p==f)if(i<=t){if(u!=e[i])return!1}else{if(n?u>e[i]:u<e[i])return!1;u!=e[i]&&(s=!1)}else if("s"!=p&&"n"!=p){if(n||i<=t)return!1;s=!1,i--}else{if(i<=t||f<p!=n)return!1;s=!1}else"s"!=p&&"n"!=p&&(s=!1,i--)}}var c=[],d=c.pop.bind(c);for(a=1;a<e.length;a++){var h=e[a];c.push(1==h?d()|d():2==h?d()&d():h?l(h,r):!d())}return!!d()},s=(e,r)=>{var t=e[r];return Object.keys(t).reduce(((e,r)=>!e||!t[e].loaded&&a(e,r)?r:e),0)},u=(e,r,t,n)=>"Unsatisfied version "+t+" from "+(t&&e[r][t].from)+" of shared singleton module "+r+" (required "+i(n)+")",f=(e,r,t,n)=>{var o=s(e,t);return l(n,o)||p(u(e,t,o,n)),c(e[t][o])},p=e=>{"undefined"!=typeof console&&console.warn&&console.warn(e)},c=e=>(e.loaded=1,e.get()),d=(e=>function(r,t,n,o){var a=y.I(r);return a&&a.then?a.then(e.bind(e,r,y.S[r],t,n,o)):e(0,y.S[r],t,n,o)})(((e,r,t,n,o)=>r&&y.o(r,t)?f(r,0,t,n):o())),h={},m={1672:()=>d("default","react",[1,18],(()=>y.e(294).then((()=>()=>y(7294))))),1914:()=>d("default","react-router-dom",[1,6],(()=>y.e(26).then((()=>()=>y(8026))))),2653:()=>d("default","dayjs",[1,1],(()=>y.e(484).then((()=>()=>y(7484))))),3397:()=>d("default","react-i18next",[1,11],(()=>y.e(707).then((()=>()=>y(707))))),5512:()=>d("default","swr/_internal",[1,2],(()=>y.e(46).then((()=>()=>y(46))))),7248:()=>d("default","@openmrs/esm-framework",[1,5],(()=>y.e(793).then((()=>()=>y(1793)))))},v={672:[1672],942:[1914,2653,3397,5512,7248]},y.f.consumes=(e,r)=>{y.o(v,e)&&v[e].forEach((e=>{if(y.o(h,e))return r.push(h[e]);var t=r=>{h[e]=0,y.m[e]=t=>{delete y.c[e],t.exports=r()}},n=r=>{delete h[e],y.m[e]=t=>{throw delete y.c[e],r}};try{var o=m[e]();o.then?r.push(h[e]=o.then(t).catch(n)):t(o)}catch(e){n(e)}}))},(()=>{var e={122:0};y.f.j=(r,t)=>{var n=y.o(e,r)?e[r]:void 0;if(0!==n)if(n)t.push(n[2]);else if(672!=r){var o=new Promise(((t,o)=>n=e[r]=[t,o]));t.push(n[2]=o);var a=y.p+y.u(r),i=new Error;y.l(a,(t=>{if(y.o(e,r)&&(0!==(n=e[r])&&(e[r]=void 0),n)){var o=t&&("load"===t.type?"missing":t.type),a=t&&t.target&&t.target.src;i.message="Loading chunk "+r+" failed.\n("+o+": "+a+")",i.name="ChunkLoadError",i.type=o,i.request=a,n[1](i)}}),"chunk-"+r,r)}else e[r]=0};var r=(r,t)=>{var n,o,[a,i,l]=t,s=0;if(a.some((r=>0!==e[r]))){for(n in i)y.o(i,n)&&(y.m[n]=i[n]);l&&l(y)}for(r&&r(t);s<a.length;s++)o=a[s],y.o(e,o)&&e[o]&&e[o][0](),e[o]=0},t=globalThis.webpackChunk_openmrs_esm_stock_management_app=globalThis.webpackChunk_openmrs_esm_stock_management_app||[];t.forEach(r.bind(null,0)),t.push=r.bind(null,t.push.bind(t))})(),y.nc=void 0;var _=y(1371);_openmrs_esm_stock_management_app=_})();
|
@@ -21,7 +21,7 @@
|
|
21
21
|
"auxiliaryFiles": [
|
22
22
|
"20.js.map"
|
23
23
|
],
|
24
|
-
"hash": "
|
24
|
+
"hash": "add2504aec147665",
|
25
25
|
"childrenByOrder": {}
|
26
26
|
},
|
27
27
|
{
|
@@ -102,31 +102,7 @@
|
|
102
102
|
"auxiliaryFiles": [
|
103
103
|
"openmrs-esm-stock-management-app.js.map"
|
104
104
|
],
|
105
|
-
"hash": "
|
106
|
-
"childrenByOrder": {}
|
107
|
-
},
|
108
|
-
{
|
109
|
-
"rendered": true,
|
110
|
-
"initial": false,
|
111
|
-
"entry": false,
|
112
|
-
"recorded": false,
|
113
|
-
"size": 56544,
|
114
|
-
"sizes": {
|
115
|
-
"javascript": 56544
|
116
|
-
},
|
117
|
-
"names": [],
|
118
|
-
"idHints": [],
|
119
|
-
"runtime": [
|
120
|
-
"@openmrs/esm-stock-management-app",
|
121
|
-
"main"
|
122
|
-
],
|
123
|
-
"files": [
|
124
|
-
"155.js"
|
125
|
-
],
|
126
|
-
"auxiliaryFiles": [
|
127
|
-
"155.js.map"
|
128
|
-
],
|
129
|
-
"hash": "d2341156343a2948",
|
105
|
+
"hash": "27594147963c527b",
|
130
106
|
"childrenByOrder": {}
|
131
107
|
},
|
132
108
|
{
|
@@ -150,7 +126,7 @@
|
|
150
126
|
"auxiliaryFiles": [
|
151
127
|
"172.js.map"
|
152
128
|
],
|
153
|
-
"hash": "
|
129
|
+
"hash": "dc1ed22b41ecb9f0",
|
154
130
|
"childrenByOrder": {}
|
155
131
|
},
|
156
132
|
{
|
@@ -158,10 +134,10 @@
|
|
158
134
|
"initial": true,
|
159
135
|
"entry": true,
|
160
136
|
"recorded": false,
|
161
|
-
"size":
|
137
|
+
"size": 5475157,
|
162
138
|
"sizes": {
|
163
139
|
"consume-shared": 252,
|
164
|
-
"javascript":
|
140
|
+
"javascript": 5453208,
|
165
141
|
"share-init": 252,
|
166
142
|
"runtime": 21445
|
167
143
|
},
|
@@ -178,7 +154,7 @@
|
|
178
154
|
"auxiliaryFiles": [
|
179
155
|
"main.js.map"
|
180
156
|
],
|
181
|
-
"hash": "
|
157
|
+
"hash": "7b3183dec6dd1de5",
|
182
158
|
"childrenByOrder": {}
|
183
159
|
},
|
184
160
|
{
|
@@ -224,7 +200,7 @@
|
|
224
200
|
"auxiliaryFiles": [
|
225
201
|
"290.js.map"
|
226
202
|
],
|
227
|
-
"hash": "
|
203
|
+
"hash": "420ca348ca485d8c",
|
228
204
|
"childrenByOrder": {}
|
229
205
|
},
|
230
206
|
{
|
@@ -342,7 +318,7 @@
|
|
342
318
|
"auxiliaryFiles": [
|
343
319
|
"493.js.map"
|
344
320
|
],
|
345
|
-
"hash": "
|
321
|
+
"hash": "77e751713e51d802",
|
346
322
|
"childrenByOrder": {}
|
347
323
|
},
|
348
324
|
{
|
@@ -388,7 +364,7 @@
|
|
388
364
|
"auxiliaryFiles": [
|
389
365
|
"606.js.map"
|
390
366
|
],
|
391
|
-
"hash": "
|
367
|
+
"hash": "022a67bbd27dc006",
|
392
368
|
"childrenByOrder": {}
|
393
369
|
},
|
394
370
|
{
|
@@ -412,7 +388,7 @@
|
|
412
388
|
"auxiliaryFiles": [
|
413
389
|
"627.js.map"
|
414
390
|
],
|
415
|
-
"hash": "
|
391
|
+
"hash": "d3973cdee8608ee7",
|
416
392
|
"childrenByOrder": {}
|
417
393
|
},
|
418
394
|
{
|
@@ -604,23 +580,23 @@
|
|
604
580
|
"initial": false,
|
605
581
|
"entry": false,
|
606
582
|
"recorded": false,
|
607
|
-
"size":
|
583
|
+
"size": 372135,
|
608
584
|
"sizes": {
|
609
|
-
"javascript":
|
610
|
-
"consume-shared": 210
|
585
|
+
"javascript": 372135
|
611
586
|
},
|
612
587
|
"names": [],
|
613
588
|
"idHints": [],
|
614
589
|
"runtime": [
|
615
|
-
"@openmrs/esm-stock-management-app"
|
590
|
+
"@openmrs/esm-stock-management-app",
|
591
|
+
"main"
|
616
592
|
],
|
617
593
|
"files": [
|
618
|
-
"
|
594
|
+
"880.js"
|
619
595
|
],
|
620
596
|
"auxiliaryFiles": [
|
621
|
-
"
|
597
|
+
"880.js.map"
|
622
598
|
],
|
623
|
-
"hash": "
|
599
|
+
"hash": "ef3d62ebaa78c122",
|
624
600
|
"childrenByOrder": {}
|
625
601
|
},
|
626
602
|
{
|
@@ -649,6 +625,30 @@
|
|
649
625
|
],
|
650
626
|
"hash": "ec5f549cbfd789c7",
|
651
627
|
"childrenByOrder": {}
|
628
|
+
},
|
629
|
+
{
|
630
|
+
"rendered": true,
|
631
|
+
"initial": false,
|
632
|
+
"entry": false,
|
633
|
+
"recorded": false,
|
634
|
+
"size": 1731984,
|
635
|
+
"sizes": {
|
636
|
+
"javascript": 1731774,
|
637
|
+
"consume-shared": 210
|
638
|
+
},
|
639
|
+
"names": [],
|
640
|
+
"idHints": [],
|
641
|
+
"runtime": [
|
642
|
+
"@openmrs/esm-stock-management-app"
|
643
|
+
],
|
644
|
+
"files": [
|
645
|
+
"942.js"
|
646
|
+
],
|
647
|
+
"auxiliaryFiles": [
|
648
|
+
"942.js.map"
|
649
|
+
],
|
650
|
+
"hash": "12ff7ea2b5964123",
|
651
|
+
"childrenByOrder": {}
|
652
652
|
}
|
653
653
|
]
|
654
654
|
}
|
package/dist/routes.json
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"$schema":"https://json.openmrs.org/routes.schema.json","backendDependencies":{"fhir2":">=1.2","webservices.rest":"^2.24.0"},"extensions":[{"name":"stock-nav-menu","slot":"stock-sidebar-slot","component":"stockNavMenu","online":true,"offline":true},{"name":"overview-db-link","slot":"stock-page-dashboard-slot","component":"stockOverviewLink","meta":{"name":"overview","slot":"overview-dashboard-slot","title":"overview"},"order":0,"online":true,"offline":true},{"name":"stock-overview-db","slot":"overview-dashboard-slot","component":"stockOverview"},{"name":"operations-db-link","slot":"stock-page-dashboard-slot","component":"stockOperationsLink","meta":{"name":"operations","slot":"operations-dashboard-slot","title":"operations"},"order":2,"online":true,"offline":true},{"name":"stock-operations-db","slot":"operations-dashboard-slot","component":"stockOperations"},{"name":"items-db-link","slot":"stock-page-dashboard-slot","component":"stockItemsLink","meta":{"name":"items","slot":"items-dashboard-slot","title":"items"},"order":1,"online":true,"offline":true},{"name":"stock-items-db","slot":"items-dashboard-slot","component":"stockItems"},{"name":"user-scopes-db-link","slot":"stock-page-dashboard-slot","component":"stockUserScopesLink","meta":{"name":"user-scopes","slot":"user-scopes-dashboard-slot","title":"user-scopes"},"order":3,"online":true,"offline":true},{"name":"stock-user-scopes-db","slot":"user-scopes-dashboard-slot","component":"stockUserScopes"},{"name":"sources-db-link","slot":"stock-page-dashboard-slot","component":"stockSourcesLink","meta":{"name":"sources","slot":"sources-dashboard-slot","title":"Sources"},"order":2,"online":true,"offline":true},{"name":"stock-sources-db","slot":"sources-dashboard-slot","component":"stockSources"},{"name":"locations-db-link","slot":"stock-page-dashboard-slot","component":"stockLocationsLink","meta":{"name":"locations","slot":"locations-dashboard-slot","title":"Locations"},"order":4,"online":true,"offline":true},{"name":"stock-locations-db","slot":"locations-dashboard-slot","component":"stockLocations"},{"name":"reports-db-link","slot":"stock-page-dashboard-slot","component":"stockReportsLink","meta":{"name":"reports","slot":"reports-dashboard-slot","title":"Reports"},"order":5,"online":true,"offline":true},{"name":"stock-reports-db","slot":"reports-dashboard-slot","component":"stockReports"},{"name":"settings-db-link","slot":"stock-page-dashboard-slot","component":"stockSettingsLink","meta":{"name":"settings","slot":"settings-dashboard-slot","title":"Settings"},"order":6,"online":true,"offline":true},{"name":"stock-settings-db","slot":"settings-dashboard-slot","component":"stockSettings"},{"name":"stock-management-admin-card-link","slot":"system-admin-page-card-link-slot","component":"stockManagementAdminCardLink"},{"name":"stock-management-app-menu-item","component":"stockManagementAppMenuItem","slot":"app-menu-item-slot","meta":{"name":" Stock Management"}},{"name":"delete-packaging-unit-button","component":"deletePackagingUnitButton"}],"modals":[{"name":"delete-stock-modal","component":"deleteStockModal"},{"name":"delete-stock-user-scope-modal","component":"deleteUserScopeModal"},{"name":"delete-stock-rule-modal","component":"deleteStockRuleModal"},{"name":"delete-packaging-unit-modal","component":"deletePackagingUnitModal"},{"name":"import-bulk-stock-items","component":"importBulkStockItemsModal"},{"name":"stock-operation-dialog","component":"stockOperationModal"},{"name":"transactions-print-bincard-preview-modal","component":"transactionBincardPrintPreviewModal"},{"name":"transactions-print-stockcard-preview-modal","component":"transactionStockcardPrintPreviewModal"}],"workspaces":[{"name":"stock-operation-
|
1
|
+
{"$schema":"https://json.openmrs.org/routes.schema.json","backendDependencies":{"fhir2":">=1.2","webservices.rest":"^2.24.0"},"extensions":[{"name":"stock-nav-menu","slot":"stock-sidebar-slot","component":"stockNavMenu","online":true,"offline":true},{"name":"overview-db-link","slot":"stock-page-dashboard-slot","component":"stockOverviewLink","meta":{"name":"overview","slot":"overview-dashboard-slot","title":"overview"},"order":0,"online":true,"offline":true},{"name":"stock-overview-db","slot":"overview-dashboard-slot","component":"stockOverview"},{"name":"operations-db-link","slot":"stock-page-dashboard-slot","component":"stockOperationsLink","meta":{"name":"operations","slot":"operations-dashboard-slot","title":"operations"},"order":2,"online":true,"offline":true},{"name":"stock-operations-db","slot":"operations-dashboard-slot","component":"stockOperations"},{"name":"items-db-link","slot":"stock-page-dashboard-slot","component":"stockItemsLink","meta":{"name":"items","slot":"items-dashboard-slot","title":"items"},"order":1,"online":true,"offline":true},{"name":"stock-items-db","slot":"items-dashboard-slot","component":"stockItems"},{"name":"user-scopes-db-link","slot":"stock-page-dashboard-slot","component":"stockUserScopesLink","meta":{"name":"user-scopes","slot":"user-scopes-dashboard-slot","title":"user-scopes"},"order":3,"online":true,"offline":true},{"name":"stock-user-scopes-db","slot":"user-scopes-dashboard-slot","component":"stockUserScopes"},{"name":"sources-db-link","slot":"stock-page-dashboard-slot","component":"stockSourcesLink","meta":{"name":"sources","slot":"sources-dashboard-slot","title":"Sources"},"order":2,"online":true,"offline":true},{"name":"stock-sources-db","slot":"sources-dashboard-slot","component":"stockSources"},{"name":"locations-db-link","slot":"stock-page-dashboard-slot","component":"stockLocationsLink","meta":{"name":"locations","slot":"locations-dashboard-slot","title":"Locations"},"order":4,"online":true,"offline":true},{"name":"stock-locations-db","slot":"locations-dashboard-slot","component":"stockLocations"},{"name":"reports-db-link","slot":"stock-page-dashboard-slot","component":"stockReportsLink","meta":{"name":"reports","slot":"reports-dashboard-slot","title":"Reports"},"order":5,"online":true,"offline":true},{"name":"stock-reports-db","slot":"reports-dashboard-slot","component":"stockReports"},{"name":"settings-db-link","slot":"stock-page-dashboard-slot","component":"stockSettingsLink","meta":{"name":"settings","slot":"settings-dashboard-slot","title":"Settings"},"order":6,"online":true,"offline":true},{"name":"stock-settings-db","slot":"settings-dashboard-slot","component":"stockSettings"},{"name":"stock-management-admin-card-link","slot":"system-admin-page-card-link-slot","component":"stockManagementAdminCardLink"},{"name":"stock-management-app-menu-item","component":"stockManagementAppMenuItem","slot":"app-menu-item-slot","meta":{"name":" Stock Management"}},{"name":"delete-packaging-unit-button","component":"deletePackagingUnitButton"}],"modals":[{"name":"delete-stock-modal","component":"deleteStockModal"},{"name":"delete-stock-user-scope-modal","component":"deleteUserScopeModal"},{"name":"delete-stock-rule-modal","component":"deleteStockRuleModal"},{"name":"delete-packaging-unit-modal","component":"deletePackagingUnitModal"},{"name":"import-bulk-stock-items","component":"importBulkStockItemsModal"},{"name":"stock-operation-dialog","component":"stockOperationModal"},{"name":"transactions-print-bincard-preview-modal","component":"transactionBincardPrintPreviewModal"},{"name":"transactions-print-stockcard-preview-modal","component":"transactionStockcardPrintPreviewModal"}],"workspaces":[{"name":"stock-operation-form-workspace","component":"stockOperationFormWorkspace","title":"Stock Operation","type":"form","canMaximize":true,"width":"extra-wide"}],"pages":[{"component":"root","route":"stock-management"}],"version":"1.0.1-pre.790"}
|
package/package.json
CHANGED
package/src/index.ts
CHANGED
@@ -1,27 +1,22 @@
|
|
1
1
|
import { defineConfigSchema, getAsyncLifecycle, getSyncLifecycle } from '@openmrs/esm-framework';
|
2
2
|
import { configSchema } from './config-schema';
|
3
|
-
import appMenu from './stock-app-menu-item/item.component';
|
4
|
-
import bulkImportComponent from './stock-items/add-bulk-stock-item/stock-items-bulk-import.component';
|
5
|
-
import deleteUserModalComponent from './stock-user-role-scopes/delete-stock-user-scope-modal.component';
|
6
|
-
import deleteStockModalComponent from './stock-sources/delete-stock-modal.component';
|
7
|
-
import stockOperationDialogComponent from './stock-operations/stock-operations-dialog/stock-operations-dialog.component';
|
8
|
-
import stockManagementComponent from './stock-management.component';
|
9
|
-
import stockManagementAdminCardLinkComponent from './stock-management-admin-card-link.component';
|
10
|
-
import deletePackagingUnitModalButtonComponent from './stock-items/add-stock-item/packaging-units/packaging-units-delete-modal-button.component';
|
11
|
-
import deletePackagingUnitComponent from './stock-items/add-stock-item/packaging-units/packaging-units-delete-modal.component';
|
12
|
-
import Root from './root.component';
|
13
|
-
import StockHomeLandingPage from './stock-home/stock-home-landing-page-component';
|
14
3
|
import { createDashboardLink } from './createDashboardLink';
|
4
|
+
import Root from './root.component';
|
15
5
|
import SideMenu from './side-menu/side-menu.component';
|
16
|
-
import
|
6
|
+
import appMenu from './stock-app-menu-item/item.component';
|
7
|
+
import StockHomeLandingPage from './stock-home/stock-home-landing-page-component';
|
8
|
+
import deletePackagingUnitModalButtonComponent from './stock-items/add-stock-item/packaging-units/packaging-units-delete-modal-button.component';
|
9
|
+
import TransactionsBincardPrintPreview from './stock-items/add-stock-item/transactions/printout/transactions-print-bincard-preview.modal';
|
10
|
+
import TransactionsStockcardPrintPreview from './stock-items/add-stock-item/transactions/printout/transactions-print-stockcard-preview.modal';
|
17
11
|
import StockItems from './stock-items/stock-items.component';
|
18
|
-
import StockUserScopes from './stock-user-role-scopes/stock-user-role-scopes.component';
|
19
|
-
import StockSources from './stock-sources/stock-sources.component';
|
20
12
|
import StockLocations from './stock-locations/stock-locations.component';
|
13
|
+
import stockManagementAdminCardLinkComponent from './stock-management-admin-card-link.component';
|
14
|
+
import stockManagementComponent from './stock-management.component';
|
15
|
+
import StockOperationsComponent from './stock-operations/stock-operations.component';
|
21
16
|
import StockReports from './stock-reports/report-list/stock-reports.component';
|
22
17
|
import StockSettings from './stock-settings/stock-settings.component';
|
23
|
-
import
|
24
|
-
import
|
18
|
+
import StockSources from './stock-sources/stock-sources.component';
|
19
|
+
import StockUserScopes from './stock-user-role-scopes/stock-user-role-scopes.component';
|
25
20
|
|
26
21
|
const moduleName = '@openmrs/esm-stock-management-app';
|
27
22
|
|
@@ -130,13 +125,12 @@ export const deletePackagingUnitButton = getSyncLifecycle(deletePackagingUnitMod
|
|
130
125
|
|
131
126
|
export const stockManagementAppMenuItem = getSyncLifecycle(appMenu, options);
|
132
127
|
|
133
|
-
export const stockOperationStockItemForm = getAsyncLifecycle(
|
134
|
-
() => import('./stock-operations/stock-operations-forms/stock-item-form/stock-item-form.workspace'),
|
135
|
-
options,
|
136
|
-
);
|
137
128
|
export const transactionBincardPrintPreviewModal = getSyncLifecycle(TransactionsBincardPrintPreview, options);
|
138
129
|
export const transactionStockcardPrintPreviewModal = getSyncLifecycle(TransactionsStockcardPrintPreview, options);
|
139
|
-
|
130
|
+
export const stockOperationFormWorkspace = getAsyncLifecycle(
|
131
|
+
() => import('./stock-operations/stock-operations-forms/stock-operation-form.component'),
|
132
|
+
options,
|
133
|
+
);
|
140
134
|
export function startupApp() {
|
141
135
|
defineConfigSchema(moduleName, configSchema);
|
142
136
|
}
|
package/src/routes.json
CHANGED
@@ -210,11 +210,12 @@
|
|
210
210
|
],
|
211
211
|
"workspaces": [
|
212
212
|
{
|
213
|
-
"name": "stock-operation-
|
214
|
-
"component": "
|
215
|
-
"title": "Stock
|
213
|
+
"name": "stock-operation-form-workspace",
|
214
|
+
"component": "stockOperationFormWorkspace",
|
215
|
+
"title": "Stock Operation",
|
216
216
|
"type": "form",
|
217
|
-
"
|
217
|
+
"canMaximize": true,
|
218
|
+
"width": "extra-wide"
|
218
219
|
}
|
219
220
|
],
|
220
221
|
"pages": [
|
@@ -1,9 +1,12 @@
|
|
1
|
-
import { Layer, Row } from '@carbon/react';
|
2
|
-
import React from 'react';
|
1
|
+
import { InlineLoading, Layer, Row } from '@carbon/react';
|
2
|
+
import React, { useMemo } from 'react';
|
3
3
|
import { useTranslation } from 'react-i18next';
|
4
4
|
import { StockOperationDTO } from '../../../core/api/types/stockOperation/StockOperationDTO';
|
5
|
-
import
|
5
|
+
import { useStockOperationTypes } from '../../../stock-lookups/stock-lookups.resource';
|
6
|
+
import StockoperationActions from '../../stock-operation-actions.component';
|
7
|
+
import StockOperationLinks from '../../stock-operation-links.component';
|
6
8
|
import StockItemsTable from './stock-items-table';
|
9
|
+
import styles from './stock-operation-expanded-row.scss';
|
7
10
|
import StockOpertationStatus from './stock-operations-status';
|
8
11
|
|
9
12
|
interface StockOperationExpandedRowProps {
|
@@ -12,6 +15,10 @@ interface StockOperationExpandedRowProps {
|
|
12
15
|
|
13
16
|
const StockOperationExpandedRow: React.FC<StockOperationExpandedRowProps> = (props) => {
|
14
17
|
const { t } = useTranslation();
|
18
|
+
const { types, isLoading, error } = useStockOperationTypes();
|
19
|
+
const currentOperationType = useMemo(() => {
|
20
|
+
return types?.results?.find(({ uuid }) => props.model.operationTypeUuid === uuid);
|
21
|
+
}, [props.model.operationTypeUuid, types?.results]);
|
15
22
|
return (
|
16
23
|
<>
|
17
24
|
<Layer className={styles.statusContainer}>
|
@@ -76,9 +83,31 @@ const StockOperationExpandedRow: React.FC<StockOperationExpandedRowProps> = (pro
|
|
76
83
|
/>
|
77
84
|
)}
|
78
85
|
</Row>
|
86
|
+
<Row className={styles.statusContainerRow}>
|
87
|
+
{isLoading && (
|
88
|
+
<InlineLoading
|
89
|
+
description={t('loading StockoperationLinks', 'Loading stock operation links') + '...'}
|
90
|
+
iconDescription={t('loading StockoperationLinks', 'Loading stock operation links')}
|
91
|
+
/>
|
92
|
+
)}
|
93
|
+
{currentOperationType && (
|
94
|
+
<StockOperationLinks stockOperationType={currentOperationType} stockOperation={props.model} />
|
95
|
+
)}
|
96
|
+
</Row>
|
79
97
|
<Row className={styles.statusContainerRow}>
|
80
98
|
<StockItemsTable items={props.model.stockOperationItems} />
|
81
99
|
</Row>
|
100
|
+
<Row className={styles.statusContainerRow}>
|
101
|
+
{isLoading && (
|
102
|
+
<InlineLoading
|
103
|
+
description={t('loadingOperationActions', 'Loading stock operation actions') + '...'}
|
104
|
+
iconDescription={t('loadingOperationActions', 'Loading stock operation actions')}
|
105
|
+
/>
|
106
|
+
)}
|
107
|
+
{currentOperationType && (
|
108
|
+
<StockoperationActions stockOperationType={currentOperationType} stockOperation={props.model} />
|
109
|
+
)}
|
110
|
+
</Row>
|
82
111
|
</Layer>
|
83
112
|
</>
|
84
113
|
);
|
package/src/stock-operations/edit-stock-operation/edit-stock-operation-action-menu.component.tsx
CHANGED
@@ -4,7 +4,7 @@ import { showSnackbar } from '@openmrs/esm-framework';
|
|
4
4
|
import React, { useCallback, useEffect, useMemo } from 'react';
|
5
5
|
import { useTranslation } from 'react-i18next';
|
6
6
|
import { StockOperationDTO } from '../../core/api/types/stockOperation/StockOperationDTO';
|
7
|
-
import {
|
7
|
+
import { launchStockoperationAddOrEditWorkSpace } from '../stock-operation.utils';
|
8
8
|
import useFilteredOperationTypesByRoles from '../stock-operations-forms/hooks/useFilteredOperationTypesByRoles';
|
9
9
|
import { useStockOperationAndItems } from '../stock-operations.resource';
|
10
10
|
|
@@ -32,7 +32,7 @@ const EditStockOperationActionMenu: React.FC<EditStockOperationActionMenuProps>
|
|
32
32
|
);
|
33
33
|
|
34
34
|
const handleEdit = useCallback(() => {
|
35
|
-
|
35
|
+
launchStockoperationAddOrEditWorkSpace(
|
36
36
|
t,
|
37
37
|
activeOperationType,
|
38
38
|
stockOperation,
|
@@ -0,0 +1,81 @@
|
|
1
|
+
import React, { useMemo } from 'react';
|
2
|
+
import { StockOperationDTO } from '../core/api/types/stockOperation/StockOperationDTO';
|
3
|
+
import {
|
4
|
+
operationFromString,
|
5
|
+
OperationType,
|
6
|
+
StockOperationType,
|
7
|
+
StockOperationTypeHasPrint,
|
8
|
+
} from '../core/api/types/stockOperation/StockOperationType';
|
9
|
+
import StockOperationApprovalButton from './stock-operations-dialog/stock-operations-approve-button.component';
|
10
|
+
import StockOperationApproveDispatchButton from './stock-operations-dialog/stock-operations-approve-dispatch-button.component';
|
11
|
+
import StockOperationCancelButton from './stock-operations-dialog/stock-operations-cancel-button.component';
|
12
|
+
import StockOperationCompleteDispatchButton from './stock-operations-dialog/stock-operations-completed-dispatch-button.component';
|
13
|
+
import StockOperationIssueStockButton from './stock-operations-dialog/stock-operations-issue-stock-button.component';
|
14
|
+
import StockOperationPrintButton from './stock-operations-dialog/stock-operations-print-button.component';
|
15
|
+
import StockOperationRejectButton from './stock-operations-dialog/stock-operations-reject-button.component';
|
16
|
+
import StockOperationReturnButton from './stock-operations-dialog/stock-operations-return-button.component';
|
17
|
+
import useOperationTypePermisions from './stock-operations-forms/hooks/useOperationTypePermisions';
|
18
|
+
import styles from './stock-operations-table.scss';
|
19
|
+
|
20
|
+
type Props = {
|
21
|
+
stockOperation: StockOperationDTO;
|
22
|
+
stockOperationType: StockOperationType;
|
23
|
+
};
|
24
|
+
|
25
|
+
const StockoperationActions: React.FC<Props> = ({ stockOperation, stockOperationType }) => {
|
26
|
+
const operationTypePermision = useOperationTypePermisions(stockOperationType);
|
27
|
+
const operationType = useMemo(() => {
|
28
|
+
return operationFromString(stockOperationType.operationType);
|
29
|
+
}, [stockOperationType]);
|
30
|
+
return (
|
31
|
+
<>
|
32
|
+
{((!stockOperation.permission?.canEdit &&
|
33
|
+
(stockOperation.permission?.canApprove || stockOperation.permission?.canReceiveItems)) ||
|
34
|
+
stockOperation.permission?.canEdit ||
|
35
|
+
StockOperationTypeHasPrint(operationType) ||
|
36
|
+
(stockOperation?.permission?.isRequisitionAndCanIssueStock ?? false) ||
|
37
|
+
stockOperation.permission?.isRequisitionAndCanIssueStock) && (
|
38
|
+
<div className={styles.actionBtns}>
|
39
|
+
<>
|
40
|
+
{!stockOperation.permission?.canEdit && stockOperation.permission?.canApprove && (
|
41
|
+
<>
|
42
|
+
{!operationTypePermision.requiresDispatchAcknowledgement && (
|
43
|
+
<StockOperationApprovalButton operation={stockOperation} />
|
44
|
+
)}
|
45
|
+
|
46
|
+
{operationTypePermision.requiresDispatchAcknowledgement && (
|
47
|
+
<StockOperationApproveDispatchButton operation={stockOperation} />
|
48
|
+
)}
|
49
|
+
|
50
|
+
<StockOperationRejectButton operation={stockOperation} />
|
51
|
+
<StockOperationReturnButton operation={stockOperation} />
|
52
|
+
<StockOperationCancelButton operation={stockOperation} />
|
53
|
+
</>
|
54
|
+
)}
|
55
|
+
|
56
|
+
{!stockOperation.permission?.canEdit && stockOperation.permission?.canReceiveItems && (
|
57
|
+
<>
|
58
|
+
<StockOperationCompleteDispatchButton operation={stockOperation} reason={false} />
|
59
|
+
<StockOperationReturnButton operation={stockOperation} />
|
60
|
+
</>
|
61
|
+
)}
|
62
|
+
|
63
|
+
{stockOperation.permission?.canEdit && <StockOperationCancelButton operation={stockOperation} />}
|
64
|
+
{stockOperation.permission?.isRequisitionAndCanIssueStock && (
|
65
|
+
<StockOperationIssueStockButton operation={stockOperation} />
|
66
|
+
)}
|
67
|
+
{(stockOperation.permission?.isRequisitionAndCanIssueStock ||
|
68
|
+
stockOperation.operationType === OperationType.STOCK_ISSUE_OPERATION_TYPE ||
|
69
|
+
stockOperation.operationType === OperationType.REQUISITION_OPERATION_TYPE ||
|
70
|
+
stockOperation.operationType === OperationType.RECEIPT_OPERATION_TYPE ||
|
71
|
+
stockOperation.operationType === OperationType.TRANSFER_OUT_OPERATION_TYPE) && (
|
72
|
+
<StockOperationPrintButton operation={stockOperation} />
|
73
|
+
)}
|
74
|
+
</>
|
75
|
+
</div>
|
76
|
+
)}
|
77
|
+
</>
|
78
|
+
);
|
79
|
+
};
|
80
|
+
|
81
|
+
export default StockoperationActions;
|
@@ -0,0 +1,82 @@
|
|
1
|
+
import React, { useMemo } from 'react';
|
2
|
+
import { StockOperationDTO } from '../core/api/types/stockOperation/StockOperationDTO';
|
3
|
+
import { OperationType, StockOperationType } from '../core/api/types/stockOperation/StockOperationType';
|
4
|
+
import useStockOperationLinks from './stock-operations-forms/hooks/useStockOperationLinks';
|
5
|
+
import styles from './stock-operations-table.scss';
|
6
|
+
import StockOperationRelatedLink from './stock-operations-forms/stock-operation-related-link.component';
|
7
|
+
|
8
|
+
type Props = {
|
9
|
+
stockOperation: StockOperationDTO;
|
10
|
+
stockOperationType: StockOperationType;
|
11
|
+
};
|
12
|
+
|
13
|
+
const StockOperationLinks: React.FC<Props> = ({ stockOperation, stockOperationType }) => {
|
14
|
+
const requisitionOperationUuid = useMemo(() => {
|
15
|
+
if (
|
16
|
+
stockOperationType?.operationType === OperationType.REQUISITION_OPERATION_TYPE ||
|
17
|
+
stockOperation?.operationType === OperationType.REQUISITION_OPERATION_TYPE ||
|
18
|
+
stockOperationType?.operationType === OperationType.STOCK_ISSUE_OPERATION_TYPE ||
|
19
|
+
stockOperation?.operationType === OperationType.STOCK_ISSUE_OPERATION_TYPE
|
20
|
+
) {
|
21
|
+
return stockOperation.uuid;
|
22
|
+
}
|
23
|
+
return null;
|
24
|
+
}, [stockOperationType, stockOperation]);
|
25
|
+
const { error, isLoading, operationLinks } = useStockOperationLinks(requisitionOperationUuid);
|
26
|
+
if (isLoading || error) return null;
|
27
|
+
return (
|
28
|
+
<div>
|
29
|
+
{' '}
|
30
|
+
{operationLinks && operationLinks.length > 0 && (
|
31
|
+
<div>
|
32
|
+
<h6 className={styles.relatedTransactionHeader}>Related Transactions:</h6>
|
33
|
+
{operationLinks.map(
|
34
|
+
(item) =>
|
35
|
+
(stockOperation.uuid === item?.parentUuid || stockOperationType?.uuid === item?.parentUuid) && (
|
36
|
+
<React.Fragment key={item.uuid}>
|
37
|
+
<span>{item?.childOperationTypeName}</span>
|
38
|
+
<span className={item?.childVoided ? 'voided' : ''}>
|
39
|
+
{' '}
|
40
|
+
{item?.childVoided && item?.childOperationNumber}
|
41
|
+
{!item?.childVoided && (
|
42
|
+
<span className={styles.relatedLink}>
|
43
|
+
<StockOperationRelatedLink
|
44
|
+
stockOperationUuid={item?.childUuid}
|
45
|
+
operationNumber={item?.childOperationNumber}
|
46
|
+
/>
|
47
|
+
</span>
|
48
|
+
)}
|
49
|
+
</span>{' '}
|
50
|
+
<span>[{item?.childStatus}]</span>
|
51
|
+
</React.Fragment>
|
52
|
+
),
|
53
|
+
)}
|
54
|
+
<span> </span>
|
55
|
+
{operationLinks.map(
|
56
|
+
(item) =>
|
57
|
+
(stockOperation.uuid === item?.childUuid || stockOperationType.uuid === item?.childUuid) && (
|
58
|
+
<React.Fragment key={item.uuid}>
|
59
|
+
<span>{item?.parentOperationTypeName}</span>
|
60
|
+
<span className={item?.parentVoided ? 'voided' : ''}>
|
61
|
+
{' '}
|
62
|
+
{item?.parentVoided && item?.parentOperationNumber}
|
63
|
+
{!item?.parentVoided && (
|
64
|
+
<span className={styles.relatedLink}>
|
65
|
+
<StockOperationRelatedLink
|
66
|
+
stockOperationUuid={item?.parentUuid}
|
67
|
+
operationNumber={item?.parentOperationNumber}
|
68
|
+
/>
|
69
|
+
</span>
|
70
|
+
)}
|
71
|
+
</span>{' '}
|
72
|
+
<span>[{item?.parentStatus}]</span>
|
73
|
+
</React.Fragment>
|
74
|
+
),
|
75
|
+
)}
|
76
|
+
</div>
|
77
|
+
)}
|
78
|
+
</div>
|
79
|
+
);
|
80
|
+
};
|
81
|
+
|
82
|
+
export default StockOperationLinks;
|
@@ -3,7 +3,7 @@ import { showSnackbar } from '@openmrs/esm-framework';
|
|
3
3
|
import React, { useCallback, useEffect } from 'react';
|
4
4
|
import { useTranslation } from 'react-i18next';
|
5
5
|
import { useStockOperationTypes } from '../stock-lookups/stock-lookups.resource';
|
6
|
-
import {
|
6
|
+
import { launchStockoperationAddOrEditWorkSpace } from './stock-operation.utils';
|
7
7
|
import { useStockOperationAndItems } from './stock-operations.resource';
|
8
8
|
|
9
9
|
interface StockOperationReferenceProps {
|
@@ -25,7 +25,7 @@ const StockOperationReference = ({ operationNumber, operationUuid }: StockOperat
|
|
25
25
|
if (!operationType) {
|
26
26
|
return;
|
27
27
|
}
|
28
|
-
|
28
|
+
launchStockoperationAddOrEditWorkSpace(
|
29
29
|
t,
|
30
30
|
operationType,
|
31
31
|
stockOperation,
|
@@ -4,7 +4,7 @@ import { showSnackbar } from '@openmrs/esm-framework';
|
|
4
4
|
import React, { useCallback, useEffect } from 'react';
|
5
5
|
import { useTranslation } from 'react-i18next';
|
6
6
|
import { OperationType, StockOperationType } from '../../core/api/types/stockOperation/StockOperationType';
|
7
|
-
import {
|
7
|
+
import { launchStockoperationAddOrEditWorkSpace } from '../stock-operation.utils';
|
8
8
|
import useFilteredOperationTypesByRoles from '../stock-operations-forms/hooks/useFilteredOperationTypesByRoles';
|
9
9
|
|
10
10
|
const StockOperationTypesSelector = () => {
|
@@ -15,7 +15,7 @@ const StockOperationTypesSelector = () => {
|
|
15
15
|
(stockOperationType: StockOperationType) => {
|
16
16
|
const isStockIssueOperation = stockOperationType.operationType === OperationType.STOCK_ISSUE_OPERATION_TYPE;
|
17
17
|
|
18
|
-
|
18
|
+
launchStockoperationAddOrEditWorkSpace(t, stockOperationType, undefined);
|
19
19
|
},
|
20
20
|
[t],
|
21
21
|
);
|