From d2caec4ee41d37e8586704e90b84b0cc3bffe532 Mon Sep 17 00:00:00 2001 From: Giancarlo Panichi Date: Mon, 22 Jun 2015 15:24:39 +0000 Subject: [PATCH] Added Delete Validations git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/user/tabular-data-portlet@115470 82a268e6-3cf1-43bd-a215-b396298e98cf --- .../user/td/client/TabularDataController.java | 48 +++++++++++--- .../client/resource/TabularDataResources.java | 18 ++++- .../resource/column-validation-delete.png | Bin 0 -> 815 bytes .../resource/column-validation-delete_32.png | Bin 0 -> 1665 bytes .../resource/table-validation-delete.png | Bin 0 -> 938 bytes .../resource/table-validation-delete_32.png | Bin 0 -> 2188 bytes .../td/client/resource/table-validation.png | Bin 0 -> 881 bytes .../client/resource/table-validation_32.png | Bin 0 -> 1740 bytes .../td/client/ribbon/CurationToolBar.java | 62 ++++++++++++++++-- .../ribbon/CurationToolBarMessages.java | 16 ++++- .../td/client/ribbon/TabularDataRibbon.java | 1 - .../resource/column-validation-delete.png | Bin 0 -> 815 bytes .../resource/column-validation-delete_32.png | Bin 0 -> 1665 bytes .../resource/table-validation-delete.png | Bin 0 -> 938 bytes .../resource/table-validation-delete_32.png | Bin 0 -> 2188 bytes .../td/client/resource/table-validation.png | Bin 0 -> 881 bytes .../client/resource/table-validation_32.png | Bin 0 -> 1740 bytes src/main/webapp/gxt/css/gxt-all.css | 6 +- src/main/webapp/gxt2/css/gxt-all.css | 6 +- 19 files changed, 132 insertions(+), 25 deletions(-) create mode 100644 src/main/java/org/gcube/portlets/user/td/client/resource/column-validation-delete.png create mode 100644 src/main/java/org/gcube/portlets/user/td/client/resource/column-validation-delete_32.png create mode 100644 src/main/java/org/gcube/portlets/user/td/client/resource/table-validation-delete.png create mode 100644 src/main/java/org/gcube/portlets/user/td/client/resource/table-validation-delete_32.png create mode 100644 src/main/java/org/gcube/portlets/user/td/client/resource/table-validation.png create mode 100644 src/main/java/org/gcube/portlets/user/td/client/resource/table-validation_32.png create mode 100644 src/main/resources/org/gcube/portlets/user/td/client/resource/column-validation-delete.png create mode 100644 src/main/resources/org/gcube/portlets/user/td/client/resource/column-validation-delete_32.png create mode 100644 src/main/resources/org/gcube/portlets/user/td/client/resource/table-validation-delete.png create mode 100644 src/main/resources/org/gcube/portlets/user/td/client/resource/table-validation-delete_32.png create mode 100644 src/main/resources/org/gcube/portlets/user/td/client/resource/table-validation.png create mode 100644 src/main/resources/org/gcube/portlets/user/td/client/resource/table-validation_32.png diff --git a/src/main/java/org/gcube/portlets/user/td/client/TabularDataController.java b/src/main/java/org/gcube/portlets/user/td/client/TabularDataController.java index c989c8a..4e12d9e 100644 --- a/src/main/java/org/gcube/portlets/user/td/client/TabularDataController.java +++ b/src/main/java/org/gcube/portlets/user/td/client/TabularDataController.java @@ -48,6 +48,7 @@ import org.gcube.portlets.user.td.tablewidget.client.history.HistoryDiscard; import org.gcube.portlets.user.td.tablewidget.client.rows.DeleteRows; import org.gcube.portlets.user.td.tablewidget.client.rows.EditRowDialog; import org.gcube.portlets.user.td.tablewidget.client.util.UtilsGXT3; +import org.gcube.portlets.user.td.tablewidget.client.validation.ValidationsDelete; import org.gcube.portlets.user.td.taskswidget.client.TdTaskController; import org.gcube.portlets.user.td.unionwizardwidget.client.UnionWizardTD; import org.gcube.portlets.user.td.widgetcommonevent.client.event.BackgroundRequestEvent; @@ -108,7 +109,6 @@ import com.sencha.gxt.widget.core.client.event.DialogHideEvent.DialogHideHandler */ public class TabularDataController { - private SimpleEventBus eventBus; private MainBoxPanel mainBoxPanel; private UIStateType uiState = UIStateType.START; @@ -134,8 +134,6 @@ public class TabularDataController { */ private TRId openTRIdAfterServerUpdate; - - public TabularDataController() { eventBus = new SimpleEventBus(); callHello(); @@ -793,6 +791,12 @@ public class TabularDataController { case LOGS: openLogsWindow(); break; + case VALIDATIONS_SHOW: + openValidations(); + break; + case VALIDATIONS_DELETE: + validationsDelete(); + break; case DUPLICATE_DETECTION: openDuplicatesRowsDetection(); break; @@ -1427,10 +1431,11 @@ public class TabularDataController { } public void completed(TRId id) { - trId=id; + trId = id; uiState = UIStateType.TR_OPEN; UIStateEvent uiStateEvent = new UIStateEvent( - UIStateType.TR_OPEN, trId, DataViewType.RESOURCES); + UIStateType.TR_OPEN, trId, + DataViewType.RESOURCES); eventBus.fireEvent(uiStateEvent); } @@ -1471,10 +1476,11 @@ public class TabularDataController { } public void completed(TRId id) { - trId=id; + trId = id; uiState = UIStateType.TR_OPEN; UIStateEvent uiStateEvent = new UIStateEvent( - UIStateType.TR_OPEN, trId, DataViewType.RESOURCES); + UIStateType.TR_OPEN, trId, + DataViewType.RESOURCES); eventBus.fireEvent(uiStateEvent); } @@ -1605,6 +1611,7 @@ public class TabularDataController { (Window.getClientWidth() / 2) - 200, (Window.getClientHeight() / 2) - 300); tdTaskController.updateTasks(true); + tdTaskMainWindow.setModal(true); tdTaskMainWindow.show(); } @@ -1632,6 +1639,7 @@ public class TabularDataController { public void onSuccess() { TdTemplateController tdTemplateController = new TdTemplateController(); TdTemplateController.bindCommonBus(eventBus); + tdTemplateController.getWindowTemplatePanel().setModal(true); tdTemplateController.getWindowTemplatePanel().show(); } @@ -1807,8 +1815,8 @@ public class TabularDataController { public void onSuccess() { Log.debug("Request Open On Column Apply Rule Dialog"); if (trId != null) { - RuleOnColumnApplyDialog raDialog = new RuleOnColumnApplyDialog(trId, - eventBus); + RuleOnColumnApplyDialog raDialog = new RuleOnColumnApplyDialog( + trId, eventBus); raDialog.show(); } else { Log.error("TRId is null"); @@ -2293,6 +2301,28 @@ public class TabularDataController { } } + private void openValidations() { + Log.debug("Request Validations Tab"); + if (trId != null) { + WidgetRequestEvent e = new WidgetRequestEvent( + WidgetRequestType.VALIDATIONSTASKSPANEL); + e.setTrId(trId); + eventBus.fireEvent(e); + } else { + Log.error("TRId is null"); + } + } + + private void validationsDelete() { + Log.debug("Call Validation Delete"); + if (trId != null) { + new ValidationsDelete(trId, eventBus); + } else { + Log.error("TRId is null"); + UtilsGXT3.alert("Error", "No tabular resource present"); + } + } + private void openDuplicatesRowsDelete() { Log.debug("Request Duplicates Rows Delete Tab"); if (trId != null) { diff --git a/src/main/java/org/gcube/portlets/user/td/client/resource/TabularDataResources.java b/src/main/java/org/gcube/portlets/user/td/client/resource/TabularDataResources.java index d875ec6..492c1c7 100644 --- a/src/main/java/org/gcube/portlets/user/td/client/resource/TabularDataResources.java +++ b/src/main/java/org/gcube/portlets/user/td/client/resource/TabularDataResources.java @@ -124,12 +124,20 @@ public interface TabularDataResources extends ClientBundle { @Source("statistical_32.png") ImageResource statistical32(); - @Source("table-validate_32.png") + + @Source("table-validation_32.png") ImageResource validation32(); - @Source("table-validate.png") + @Source("table-validation.png") ImageResource validation(); + @Source("table-validation-delete_32.png") + ImageResource validationDelete32(); + + @Source("table-validation-delete.png") + ImageResource validationDelete(); + + @Source("rule-add_32.png") ImageResource ruleAdd32(); @@ -334,6 +342,12 @@ public interface TabularDataResources extends ClientBundle { @Source("column.png") ImageResource column(); + + @Source("column-validation-delete_32.png") + ImageResource columnValidationDelete32(); + + @Source("column-validation-delete.png") + ImageResource columnValidationDelete(); @Source("cog_32.png") ImageResource cog32(); diff --git a/src/main/java/org/gcube/portlets/user/td/client/resource/column-validation-delete.png b/src/main/java/org/gcube/portlets/user/td/client/resource/column-validation-delete.png new file mode 100644 index 0000000000000000000000000000000000000000..49a77d097e6937cc88c1a6a2d915cf41545dccc8 GIT binary patch literal 815 zcmV+~1JL}5P)75ExqWmJha1Sr$0Ia*M^eRy#xy z%+w&Ux%CgIVHlVLXLy%!XYDqN-7Y)Z+Z63KuP?uXIklLCU}7XuFryp{5mnqFg2Q`H z6-QKqeb(3SvbeZ};So_(j8Gr!Y-*HMiHaQY1I~Fwge+uCOmvt(IghGPC!89d$ zJs`NLCA|HJh!RBzNd-v?C~mO9^n0J9gWad=aUN1X5c{)~e|*nq`vDWd*tcLIrT;|) z=Q4D#i&YPg2s~8l4&6FIEB#Gp_!9E_O+H;J8rL^d5d@)D8O!DzNQFr}oNiTy+?!!K z^kMT3j4HC*dz^at?DW}A^MfF@AjvQ@TrtDo*H4b7JFvk?TIoZ0w1ZoI3t|m*B>emX z6VJYOF(iXzf|*A~B~$Nw{geidxHZJx*oC|W%jduh-z?DYzM^rwKND1pQKc>`W;k~4 zCb%}%8N1OGin%@HnQPeE4RqyWs7e@?$gw#}^3_nrG+dZ%Zk%7ag*i15rB3576ftUr zi?SzgFT60{xVMHAL-H0+o`1FK{k5~|04{v_=VT-I?U)3WvBOM^C_=Q1&ZF&g;ooa- thN5w~h=UiaV(Qz+kB48p@y*rW{sYOr({%ue=w|=`002ovPDHLkV1ldwZFc|w literal 0 HcmV?d00001 diff --git a/src/main/java/org/gcube/portlets/user/td/client/resource/column-validation-delete_32.png b/src/main/java/org/gcube/portlets/user/td/client/resource/column-validation-delete_32.png new file mode 100644 index 0000000000000000000000000000000000000000..c93eb4f425eb0c681f47fc4b913a277ce5c85161 GIT binary patch literal 1665 zcmV-{27dX8P)TxS`_f6sg7%w%_Gvf1pW=`OnoO;VerS~R2-X@erH;Dr<~>PNlt<1Vz6 zLeX5)(#84ttQ!6nZE}LIa?Ea^}a_1?4LK8p;_JWxX*Av6kP}&Ae*Z=d7 zuW2Wk-Z}EIf~r!A-EdHS9@xsy~T12ux7GY>; zh}qd$04kLVE+;W_$A%1$hg$X|J|PN)4r^_9m}HvBzJnNu%QVtxB#cjtGcz-TnXzlv z1dSwZ{k9pZYXAgQtQ~u#X^KYH>H3xnn!KCjq7^|@a_uApRmR4~sMqUQFw)>#Q4^H) z0kkt!Hck_t0qCW=t%eSVSjz=TlA;M+fQ81*BM9Vy*uhLxLdAE5de99rq2&dqm0m-G{(HU# zzOlJl>x?Abf~7@P|9TQ9WzyA@EdzoNMqH5f8PFbq0N@*&V!;zJ`|3`LZ(T>cN9;ii zrEvMjtc*@@`_A25ns02Z0eW)%W*+lfXq+Bm+tq87#&!^w`*D%OO!4)E+wt*He)4F-i068(n{!&FaA(?7lgcjW@IvIwf+J){Bi0fHj+D(O|&N1_t7SDyN}hZmG|;XaCkhluM-xW#$!+B&)AZ+x18sMU~*=jq$? zL58Q_`9gOTsIh4k3M7{!26hg>(gLI&`S20A?I47JXr6h@uxoSZFTRglnIhWzA%?Yj zxFZjcHIUZM@Om?OAQEnznZm__tkfY*VPYS$|Ik{jOV`j7-vwI+^Avrf(g8rbH4qjN z`VhagZXW2W(iJ1zSj8lQ;L-E1BJ=No2JoR->7Z84#(ibXE33h#d#Yi6dS9h_Bukf7 zA28`@M7z3UAv$!1#&4fxVDBi-dwAug-1i+iNIc|aS#KG`*BdOPg+KIYK24lm7Z7J{~~&w-ME5v;Ednl?>EH=)Qxjy!kfNsz2$Bf`wA-h97(}1530|XVmH!kox87C?J!k!?W-Ds2IVxjv3ubHA3cA8%7MFabJMsh zmk?cq;udt|R&37!YD-lX-?&u!o$Z-?>IX-w(!3}>`Pn=FE0@kceg2Ejj%|$|7~H$t z#e-#{sDPT{YpdLty29MM^XGqGxMT9zFTXwg_`}E7ZE)Y$^PR_j#Mi%fGz0OO2M*Ty z2Ok;<%b)5Cs}o-0<%OvKR7k_|)7$U*^W#4~w(^aKe#p0uKg_=X@RWn3$7<7Q00000 LNkvXXu0mjfmq$Nm literal 0 HcmV?d00001 diff --git a/src/main/java/org/gcube/portlets/user/td/client/resource/table-validation-delete.png b/src/main/java/org/gcube/portlets/user/td/client/resource/table-validation-delete.png new file mode 100644 index 0000000000000000000000000000000000000000..d3ea3b523bb94968ca7bcb2e7184860dc9aee22f GIT binary patch literal 938 zcmV;b16BNqP)R8<&&;rHCR)9Fm7wKDCrji5whD}~gwfErLFF;O>mQ86sU#2~T6g$pAR zqH7nraiNJT*;Euw2x$z)1c@mmmhcm(TK`&WA!Wp&|IEz2=bZ05E_@yXF#q1s-dwqK zD3ip(6GM#;lciO^Y=S%^%l4GU1-hLJ2Oia zNK$-znU#D`eJpu&ZGko;A~+Sq2YgV{M9jvH+-xKD&&Aoc{GnE}))~)EgI7oz#J~Ma z`?j5h!+q_ArsszVJ|zSQ1cE|7*TPHhUuJW6z7R*~{><$gu=5$r1O1>1Qy0lhe9QVG zyj#9Zan+$g(V%2aj-$Jd5sU`wg;)~{q>wuB9#ja{5z>@2UFV~rk0J0s11M++h$t$7 z*srahv>hEsn$CQIs)3{di&gygJubqYZ$gyCZR};aeG^+=+{KoTyNq9|^74~qYS!buvamWwE`KXa{+~AU!I^5A z`9H3YHviOpcj7FIH6aL@3MMtN-j#wJ%88C++gF~ybh=LngIR4vv!A~k3TL@hDFga;$<10sStPft?i%O5J- zgXOEq3W8#TkQ$Fy&vIj#7q*V@_TFREk_Of~B0+Gf04&!X2cGVsZiRi1m2qnEDwJ|1 zQfC<~53zgmQ+zXZ8WE3pPb^LluY?dNwPgAHe1&3j%-53@iUW>PzLSGHUT3EIC!NJk z=9XreocWRLhCHbxL_UBI3IWy{o&$S&NS(6pi7srg%rE}MwS_A@($!B_TMy@c{hpQe zC9JnNZ;4d`X(A?<%QEtK2jYd{9VOpkYk zXVa~b;k(&ewTFVyAfi|gh1MInXJ4tcPhY%B6d4*ep_bN(Gcl>Nw3Le6sr*|p0B?Re z)!LMe3f2oM0jGwj?bQ8+^6F_d;a+DQ&N-YqymL5lSh3N{?d4DY11MbRtVH{KmY&$ literal 0 HcmV?d00001 diff --git a/src/main/java/org/gcube/portlets/user/td/client/resource/table-validation-delete_32.png b/src/main/java/org/gcube/portlets/user/td/client/resource/table-validation-delete_32.png new file mode 100644 index 0000000000000000000000000000000000000000..5b8ec188107c8385dc04a368d0a246217cad37cd GIT binary patch literal 2188 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 Hu0mjfA_kdb literal 0 HcmV?d00001 diff --git a/src/main/java/org/gcube/portlets/user/td/client/resource/table-validation_32.png b/src/main/java/org/gcube/portlets/user/td/client/resource/table-validation_32.png new file mode 100644 index 0000000000000000000000000000000000000000..c253439bd781138517e8133632a95e1361cefacf GIT binary patch literal 1740 zcmV;-1~d7IP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2i^n` z4gxUev_9bg00vA+L_t(o!_Al9Z(K(e$3JuT?yl`PP8>VbaZBo|t&n08XruzAiK&Px z-U_@_w51^6iAp?F;)w^82VRQAUjUH+l?o#9!zHLl4N=onDMX0U1Se6NrcqKgmfP6f zIQH({JLeo8X72Uf^-2f{5Gza9XJ+o4GvD()-!m8fAAUy{?0@d_@X-YTTru#olQ$n$ zwRu&WFf&vQHBeK`h;|q^tk<@RZ5G#Sc)yspa@_|8U;NRxW={j8MF55KPFGFMT;+wh zkq+2AJWUlbdIB*u#0;}yjUlSmtk))0WgghsAHYPXtM<$nCS2wX!XKDXB*^;5;zY5+ zO1oI&;#gQQTumaTuPx4&ug@F{_OAtih4_cG$I=-V6#L=CFYK zR%ew)l5cEgh7s~fd~P`DoeM!k+mv-#k9;r4=mrI#XxNo@p7FhhfAAkIyK76Uj5JeB z4Xr?sP$8HWx&ANIy_t(?vxw9n4#dcsX~K_>-=JP|K`2~BFd~?)GBD`>>X@i;Xm$)L zda?AOcoNfdewHeEpFr0Dk_; zBF@3npPL#8@h@Ht^G_ZeJb!g@l{8J!=xehM5K~Z8f&*uRVFuyy@@3vxc^ef02OqMA znsRKRiC2vhu81gxaceyz0k-a3!C`#+=-0lPGy2m$9oP^M2Q=zQdGcmG!2!>oT%?np zr`vdw#?UaT9x=s@Do&NRZVPIHiXtY63ZjadAg1ixEr_ahI@^v&t2LSSa6mPxUPyxL z%O?&<6iKc#wtWZFGxr8(gcB=eoKK7{xz!_><@971mS~iv<4b{@y z2sY*zqtkBV3#gsoH3TE7h!v8~!> zxvkjcX)(lUFVwBhBljO7NfI26x8Hw@v+uqc0=4j79|shR-LP=j zs3*K|s=@&WzkKaImexBAHw_^W?Y5DV{hGIMDUVR}S3C_?8-?g2&_4bNtdD zIdk>(GFf+y-^ECC3kIyLuWDE#tYapyys06S5WvGFKxi=o&JBArtTe^)Ie110A zS8lXe&vK*@nJ*y?YjT_Uh2OH4ukp~#XBnyw^UjA?IC0^4xVB3y(L$`PPY2Axy?wZz zIBesFTdUQ2Zn#NO11l7t0H+A%jm$b6`};ggYfC(~?@PRN_7CKe2i;J`ixd(ZwLp3T zxY?}NCZ0WV(JX$L6sQy$p=y{@w(VMD*H|qynOx9(75ExqWmJha1Sr$0Ia*M^eRy#xy z%+w&Ux%CgIVHlVLXLy%!XYDqN-7Y)Z+Z63KuP?uXIklLCU}7XuFryp{5mnqFg2Q`H z6-QKqeb(3SvbeZ};So_(j8Gr!Y-*HMiHaQY1I~Fwge+uCOmvt(IghGPC!89d$ zJs`NLCA|HJh!RBzNd-v?C~mO9^n0J9gWad=aUN1X5c{)~e|*nq`vDWd*tcLIrT;|) z=Q4D#i&YPg2s~8l4&6FIEB#Gp_!9E_O+H;J8rL^d5d@)D8O!DzNQFr}oNiTy+?!!K z^kMT3j4HC*dz^at?DW}A^MfF@AjvQ@TrtDo*H4b7JFvk?TIoZ0w1ZoI3t|m*B>emX z6VJYOF(iXzf|*A~B~$Nw{geidxHZJx*oC|W%jduh-z?DYzM^rwKND1pQKc>`W;k~4 zCb%}%8N1OGin%@HnQPeE4RqyWs7e@?$gw#}^3_nrG+dZ%Zk%7ag*i15rB3576ftUr zi?SzgFT60{xVMHAL-H0+o`1FK{k5~|04{v_=VT-I?U)3WvBOM^C_=Q1&ZF&g;ooa- thN5w~h=UiaV(Qz+kB48p@y*rW{sYOr({%ue=w|=`002ovPDHLkV1ldwZFc|w literal 0 HcmV?d00001 diff --git a/src/main/resources/org/gcube/portlets/user/td/client/resource/column-validation-delete_32.png b/src/main/resources/org/gcube/portlets/user/td/client/resource/column-validation-delete_32.png new file mode 100644 index 0000000000000000000000000000000000000000..c93eb4f425eb0c681f47fc4b913a277ce5c85161 GIT binary patch literal 1665 zcmV-{27dX8P)TxS`_f6sg7%w%_Gvf1pW=`OnoO;VerS~R2-X@erH;Dr<~>PNlt<1Vz6 zLeX5)(#84ttQ!6nZE}LIa?Ea^}a_1?4LK8p;_JWxX*Av6kP}&Ae*Z=d7 zuW2Wk-Z}EIf~r!A-EdHS9@xsy~T12ux7GY>; zh}qd$04kLVE+;W_$A%1$hg$X|J|PN)4r^_9m}HvBzJnNu%QVtxB#cjtGcz-TnXzlv z1dSwZ{k9pZYXAgQtQ~u#X^KYH>H3xnn!KCjq7^|@a_uApRmR4~sMqUQFw)>#Q4^H) z0kkt!Hck_t0qCW=t%eSVSjz=TlA;M+fQ81*BM9Vy*uhLxLdAE5de99rq2&dqm0m-G{(HU# zzOlJl>x?Abf~7@P|9TQ9WzyA@EdzoNMqH5f8PFbq0N@*&V!;zJ`|3`LZ(T>cN9;ii zrEvMjtc*@@`_A25ns02Z0eW)%W*+lfXq+Bm+tq87#&!^w`*D%OO!4)E+wt*He)4F-i068(n{!&FaA(?7lgcjW@IvIwf+J){Bi0fHj+D(O|&N1_t7SDyN}hZmG|;XaCkhluM-xW#$!+B&)AZ+x18sMU~*=jq$? zL58Q_`9gOTsIh4k3M7{!26hg>(gLI&`S20A?I47JXr6h@uxoSZFTRglnIhWzA%?Yj zxFZjcHIUZM@Om?OAQEnznZm__tkfY*VPYS$|Ik{jOV`j7-vwI+^Avrf(g8rbH4qjN z`VhagZXW2W(iJ1zSj8lQ;L-E1BJ=No2JoR->7Z84#(ibXE33h#d#Yi6dS9h_Bukf7 zA28`@M7z3UAv$!1#&4fxVDBi-dwAug-1i+iNIc|aS#KG`*BdOPg+KIYK24lm7Z7J{~~&w-ME5v;Ednl?>EH=)Qxjy!kfNsz2$Bf`wA-h97(}1530|XVmH!kox87C?J!k!?W-Ds2IVxjv3ubHA3cA8%7MFabJMsh zmk?cq;udt|R&37!YD-lX-?&u!o$Z-?>IX-w(!3}>`Pn=FE0@kceg2Ejj%|$|7~H$t z#e-#{sDPT{YpdLty29MM^XGqGxMT9zFTXwg_`}E7ZE)Y$^PR_j#Mi%fGz0OO2M*Ty z2Ok;<%b)5Cs}o-0<%OvKR7k_|)7$U*^W#4~w(^aKe#p0uKg_=X@RWn3$7<7Q00000 LNkvXXu0mjfmq$Nm literal 0 HcmV?d00001 diff --git a/src/main/resources/org/gcube/portlets/user/td/client/resource/table-validation-delete.png b/src/main/resources/org/gcube/portlets/user/td/client/resource/table-validation-delete.png new file mode 100644 index 0000000000000000000000000000000000000000..d3ea3b523bb94968ca7bcb2e7184860dc9aee22f GIT binary patch literal 938 zcmV;b16BNqP)R8<&&;rHCR)9Fm7wKDCrji5whD}~gwfErLFF;O>mQ86sU#2~T6g$pAR zqH7nraiNJT*;Euw2x$z)1c@mmmhcm(TK`&WA!Wp&|IEz2=bZ05E_@yXF#q1s-dwqK zD3ip(6GM#;lciO^Y=S%^%l4GU1-hLJ2Oia zNK$-znU#D`eJpu&ZGko;A~+Sq2YgV{M9jvH+-xKD&&Aoc{GnE}))~)EgI7oz#J~Ma z`?j5h!+q_ArsszVJ|zSQ1cE|7*TPHhUuJW6z7R*~{><$gu=5$r1O1>1Qy0lhe9QVG zyj#9Zan+$g(V%2aj-$Jd5sU`wg;)~{q>wuB9#ja{5z>@2UFV~rk0J0s11M++h$t$7 z*srahv>hEsn$CQIs)3{di&gygJubqYZ$gyCZR};aeG^+=+{KoTyNq9|^74~qYS!buvamWwE`KXa{+~AU!I^5A z`9H3YHviOpcj7FIH6aL@3MMtN-j#wJ%88C++gF~ybh=LngIR4vv!A~k3TL@hDFga;$<10sStPft?i%O5J- zgXOEq3W8#TkQ$Fy&vIj#7q*V@_TFREk_Of~B0+Gf04&!X2cGVsZiRi1m2qnEDwJ|1 zQfC<~53zgmQ+zXZ8WE3pPb^LluY?dNwPgAHe1&3j%-53@iUW>PzLSGHUT3EIC!NJk z=9XreocWRLhCHbxL_UBI3IWy{o&$S&NS(6pi7srg%rE}MwS_A@($!B_TMy@c{hpQe zC9JnNZ;4d`X(A?<%QEtK2jYd{9VOpkYk zXVa~b;k(&ewTFVyAfi|gh1MInXJ4tcPhY%B6d4*ep_bN(Gcl>Nw3Le6sr*|p0B?Re z)!LMe3f2oM0jGwj?bQ8+^6F_d;a+DQ&N-YqymL5lSh3N{?d4DY11MbRtVH{KmY&$ literal 0 HcmV?d00001 diff --git a/src/main/resources/org/gcube/portlets/user/td/client/resource/table-validation-delete_32.png b/src/main/resources/org/gcube/portlets/user/td/client/resource/table-validation-delete_32.png new file mode 100644 index 0000000000000000000000000000000000000000..5b8ec188107c8385dc04a368d0a246217cad37cd GIT binary patch literal 2188 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 Hu0mjfA_kdb literal 0 HcmV?d00001 diff --git a/src/main/resources/org/gcube/portlets/user/td/client/resource/table-validation_32.png b/src/main/resources/org/gcube/portlets/user/td/client/resource/table-validation_32.png new file mode 100644 index 0000000000000000000000000000000000000000..c253439bd781138517e8133632a95e1361cefacf GIT binary patch literal 1740 zcmV;-1~d7IP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2i^n` z4gxUev_9bg00vA+L_t(o!_Al9Z(K(e$3JuT?yl`PP8>VbaZBo|t&n08XruzAiK&Px z-U_@_w51^6iAp?F;)w^82VRQAUjUH+l?o#9!zHLl4N=onDMX0U1Se6NrcqKgmfP6f zIQH({JLeo8X72Uf^-2f{5Gza9XJ+o4GvD()-!m8fAAUy{?0@d_@X-YTTru#olQ$n$ zwRu&WFf&vQHBeK`h;|q^tk<@RZ5G#Sc)yspa@_|8U;NRxW={j8MF55KPFGFMT;+wh zkq+2AJWUlbdIB*u#0;}yjUlSmtk))0WgghsAHYPXtM<$nCS2wX!XKDXB*^;5;zY5+ zO1oI&;#gQQTumaTuPx4&ug@F{_OAtih4_cG$I=-V6#L=CFYK zR%ew)l5cEgh7s~fd~P`DoeM!k+mv-#k9;r4=mrI#XxNo@p7FhhfAAkIyK76Uj5JeB z4Xr?sP$8HWx&ANIy_t(?vxw9n4#dcsX~K_>-=JP|K`2~BFd~?)GBD`>>X@i;Xm$)L zda?AOcoNfdewHeEpFr0Dk_; zBF@3npPL#8@h@Ht^G_ZeJb!g@l{8J!=xehM5K~Z8f&*uRVFuyy@@3vxc^ef02OqMA znsRKRiC2vhu81gxaceyz0k-a3!C`#+=-0lPGy2m$9oP^M2Q=zQdGcmG!2!>oT%?np zr`vdw#?UaT9x=s@Do&NRZVPIHiXtY63ZjadAg1ixEr_ahI@^v&t2LSSa6mPxUPyxL z%O?&<6iKc#wtWZFGxr8(gcB=eoKK7{xz!_><@971mS~iv<4b{@y z2sY*zqtkBV3#gsoH3TE7h!v8~!> zxvkjcX)(lUFVwBhBljO7NfI26x8Hw@v+uqc0=4j79|shR-LP=j zs3*K|s=@&WzkKaImexBAHw_^W?Y5DV{hGIMDUVR}S3C_?8-?g2&_4bNtdD zIdk>(GFf+y-^ECC3kIyLuWDE#tYapyys06S5WvGFKxi=o&JBArtTe^)Ie110A zS8lXe&vK*@nJ*y?YjT_Uh2OH4ukp~#XBnyw^UjA?IC0^4xVB3y(L$`PPY2Axy?wZz zIBesFTdUQ2Zn#NO11l7t0H+A%jm$b6`};ggYfC(~?@PRN_7CKe2i;J`ixd(ZwLp3T zxY?}NCZ0WV(JX$L6sQy$p=y{@w(VMD*H|qynOx9(