From bd378673d186c7c2dbd36480d99b43de7d61183a Mon Sep 17 00:00:00 2001 From: Cao Shun Date: Fri, 4 Jul 2025 15:05:42 +0800 Subject: [PATCH] =?UTF-8?q?el-nemu=20el-table=20el-virtualizedTbale=20=20?= =?UTF-8?q?=E6=94=AF=E6=8C=81=E6=9D=83=E9=99=90=E7=BB=84=E6=A8=A1=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CellTypes/CascaderCellType.cs | 7 +- CellTypes/NavMenuCellType.cs | 73 ++++++++++++++++-- CellTypes/TableCellType.cs | 65 ++++++++++++++-- CellTypes/VirtualizedTableCellType.cs | 62 +++++++++++++-- ReferForguncyDLL/Forguncy.Commands.Design.dll | Bin 13312 -> 13824 bytes ReferForguncyDLL/Forguncy.Commands.dll | Bin 35328 -> 35328 bytes .../Forguncy.RbacPermission.Abstractions.dll | Bin 10752 -> 16384 bytes .../GrapeCity.Forguncy.CellTypes.Design.dll | Bin 25088 -> 25600 bytes .../GrapeCity.Forguncy.CellTypes.dll | Bin 69632 -> 70656 bytes .../GrapeCity.Forguncy.Plugin.Design.dll | Bin 30720 -> 31232 bytes .../GrapeCity.Forguncy.Plugin.dll | Bin 61952 -> 61952 bytes Resources/CellTypes/NavMenu.ts | 14 +++- Resources/CellTypes/Table.ts | 18 ++++- Resources/CellTypes/VirtualizedTable.ts | 18 ++++- Resources/Declaration/forguncy.Plugin.d.ts | 50 +++++++++++- 15 files changed, 271 insertions(+), 36 deletions(-) diff --git a/CellTypes/CascaderCellType.cs b/CellTypes/CascaderCellType.cs index 043ca1f..fd57f7f 100644 --- a/CellTypes/CascaderCellType.cs +++ b/CellTypes/CascaderCellType.cs @@ -295,7 +295,7 @@ namespace ElementUI } - public class TreeNodeBase : ITreeNode, ICloneable where T : ITreeNode + public class TreeNodeBase : ObjectPropertyBase, ITreeNode where T : ITreeNode { [SRDisplayName(nameof(Resources.CascaderCellType_value))] [Required] @@ -340,11 +340,6 @@ namespace ElementUI children = value.OfType().ToList(); } } - - public object Clone() - { - return PluginUtilities.CommonClone(this); - } } internal class ParentAndLabel diff --git a/CellTypes/NavMenuCellType.cs b/CellTypes/NavMenuCellType.cs index 6d39c08..c7d5a92 100644 --- a/CellTypes/NavMenuCellType.cs +++ b/CellTypes/NavMenuCellType.cs @@ -64,13 +64,30 @@ namespace ElementUI public class MenuNodeDesigner : ObjectDesigner { - public override EditorSetting GetEditorSetting(PropertyDescriptor property, IBuilderContextBase contextBase) + public override bool GetDesignerPropertyVisible(string propertyName, IBuilderContextBase contextBase) + { + if (propertyName == nameof(MenuNode.CanVisitRoleList)) + { + return contextBase.PermissionMode == PermissionMode.Role; + } + if (propertyName == nameof(MenuNode.CanVisitPermissionGroupList)) + { + return contextBase.PermissionMode == PermissionMode.PermissionGroup; + } + return base.GetDesignerPropertyVisible(propertyName, contextBase); + } + + public override EditorSetting GetEditorSetting(PropertyDescriptor property, IBuilderContextBase contextBase) { if (property.Name == nameof(MenuNode.CanVisitRoleList)) { return new RolePermissionEditorSetting(); } - return base.GetEditorSetting(property, contextBase); + if (property.Name == nameof(MenuNode.CanVisitPermissionGroupList)) + { + return new PermissionGroupEditorSetting(); + } + return base.GetEditorSetting(property, contextBase); } } @@ -218,6 +235,7 @@ namespace ElementUI Enabled = true, Ignore = true, AllowRoles = new List() { DefaultRoleManager.FGC_Anonymous }, + AllowPermissionGroups = ["-2"], Children = GetSubUIPermisison(this.options.OfType().ToList()) }; @@ -258,10 +276,16 @@ namespace ElementUI var allowRoles = permission.AllowRoles; if (allowRoles != null) { - item.CanVisitRoleList.AddRange(allowRoles.Select(r => r)); + item.CanVisitRoleList.AddRange(allowRoles); } - - SetSubUIPermission(item.children, permission.Children); + item.CanVisitPermissionGroupList.Clear(); + var allowPermissionGroup = permission.AllowPermissionGroups; + if (allowPermissionGroup != null) + { + item.CanVisitPermissionGroupList.AddRange(allowPermissionGroup); + } + + SetSubUIPermission(item.children, permission.Children); } } @@ -273,7 +297,8 @@ namespace ElementUI var itemPermission = new SubUIPermission() { Name = item.label, - AllowRoles = item.CanVisitRoleList.Select(r => r).ToList() + AllowRoles = item.CanVisitRoleList.Select(r => r).ToList(), + AllowPermissionGroups = item.CanVisitPermissionGroupList.Select(r => r).ToList() }; if (item.children?.Any() == true) @@ -475,7 +500,8 @@ namespace ElementUI { DefaultRoleManager.FGC_Anonymous }; - } + CanVisitPermissionGroupList = ["-2"]; + } public override string value { get => base.value; set => base.value = value; } [TextProperty(CanSelectResource = true)] @@ -523,7 +549,38 @@ namespace ElementUI } } - [SRDisplayName(nameof(Resources.NavMenuCellType_expend))] + + private List _canVisitPermissionGroupList; + + [PageMetadataJsonIgnore] + [SRDisplayName(nameof(Resources.Permission))] + [JsonProperty(ObjectCreationHandling = ObjectCreationHandling.Replace)] + [DiffRoleList] + public List CanVisitPermissionGroupList + { + get + { + if (_canVisitPermissionGroupList == null) + { + _canVisitPermissionGroupList = new List(); + } + + return _canVisitPermissionGroupList; + } + set + { + if (value == null) + { + _canVisitPermissionGroupList = ["-2"]; + } + else + { + _canVisitPermissionGroupList = value; + } + } + } + + [SRDisplayName(nameof(Resources.NavMenuCellType_expend))] public bool expend { get; set; } } diff --git a/CellTypes/TableCellType.cs b/CellTypes/TableCellType.cs index 31e1842..b1b67d8 100644 --- a/CellTypes/TableCellType.cs +++ b/CellTypes/TableCellType.cs @@ -464,6 +464,7 @@ namespace ElementUI Enabled = true, Ignore = true, AllowRoles = new List() { DefaultRoleManager.FGC_Anonymous }, + AllowPermissionGroups = ["-2"], Children = GetSubUIPermisison() }; @@ -496,6 +497,7 @@ namespace ElementUI if (dic.TryGetValue(item.label, out var permission)) { item.allowRoles = permission.AllowRoles; + item.allowPermissionGroups = permission.AllowPermissionGroups; } } } @@ -506,7 +508,8 @@ namespace ElementUI if (dic.TryGetValue(item.Name, out var permission)) { item.allowRoles = permission.AllowRoles; - } + item.allowPermissionGroups = permission.AllowPermissionGroups; + } } } } @@ -519,15 +522,17 @@ namespace ElementUI subUIPermissions = subUIPermissions.Union(columns.OfType().Select(i => new SubUIPermission() { Name = i.label, - AllowRoles = i.allowRoles - })).ToList(); + AllowRoles = i.allowRoles, + AllowPermissionGroups = i.allowPermissionGroups + })).ToList(); } if (this.showActionButtons && this.actionButtons?.Count > 0) { subUIPermissions = subUIPermissions.Union(actionButtons.OfType().Select(i => new SubUIPermission() { Name = i.Name, - AllowRoles = i.allowRoles + AllowRoles = i.allowRoles, + AllowPermissionGroups = i.allowPermissionGroups })).ToList(); } var hashSet = new HashSet(); @@ -729,7 +734,20 @@ namespace ElementUI } } } - } + + public override bool GetDesignerPropertyVisible(string propertyName, IBuilderContextBase contextBase) + { + if (propertyName == nameof(ColumnSetting.allowRoles)) + { + return contextBase.PermissionMode == PermissionMode.Role; + } + if (propertyName == nameof(ColumnSetting.allowPermissionGroups)) + { + return contextBase.PermissionMode == PermissionMode.PermissionGroup; + } + return base.GetDesignerPropertyVisible(propertyName, contextBase); + } + } public class ActionButtonDesigner : ObjectDesigner { @@ -759,7 +777,19 @@ namespace ElementUI } return base.GetEditorSetting(property, contextBase); } - } + public override bool GetDesignerPropertyVisible(string propertyName, IBuilderContextBase contextBase) + { + if (propertyName == nameof(ActionButton.allowRoles)) + { + return contextBase.PermissionMode == PermissionMode.Role; + } + if (propertyName == nameof(ActionButton.allowPermissionGroups)) + { + return contextBase.PermissionMode == PermissionMode.PermissionGroup; + } + return base.GetDesignerPropertyVisible(propertyName, contextBase); + } + } sealed public class ColumnSetting : ColumnSettingBase, INamedObject { @@ -782,7 +812,17 @@ namespace ElementUI get; set; } = new List() { "FGC_Anonymous" }; - string INamedObject.Name + + [JsonProperty(ObjectCreationHandling = ObjectCreationHandling.Replace)] + [PermissionGroupSelectorProperty] + [OrderWeight(30)] + [SRDisplayName(nameof(Resources.Permission))] + public List allowPermissionGroups + { + get; set; + } = ["-2"]; + + string INamedObject.Name { get { @@ -1124,7 +1164,16 @@ namespace ElementUI get; set; } = new List() { "FGC_Anonymous" }; - public override bool GetDesignerPropertyVisible(string propertyName) + [JsonProperty(ObjectCreationHandling = ObjectCreationHandling.Replace)] + [PermissionGroupSelectorProperty] + [SRDisplayName(nameof(Resources.Permission))] + public List allowPermissionGroups + { + get; set; + } = new List() { "-2" }; + + + public override bool GetDesignerPropertyVisible(string propertyName) { if (propertyName == nameof(icon)) { diff --git a/CellTypes/VirtualizedTableCellType.cs b/CellTypes/VirtualizedTableCellType.cs index daf959f..a4638bd 100644 --- a/CellTypes/VirtualizedTableCellType.cs +++ b/CellTypes/VirtualizedTableCellType.cs @@ -393,6 +393,7 @@ public class VirtualizedTableCellType : ElementCellTypeBase, ISupportUIPermissio Enabled = true, Ignore = true, AllowRoles = new List() { DefaultRoleManager.FGC_Anonymous }, + AllowPermissionGroups = ["-2"], Children = GetSubUIPermisison() }; @@ -425,6 +426,7 @@ public class VirtualizedTableCellType : ElementCellTypeBase, ISupportUIPermissio if (dic.TryGetValue(item.Label, out var permission)) { item.allowRoles = permission.AllowRoles; + item.allowPermissionGroups = permission.AllowPermissionGroups; } } } @@ -435,6 +437,7 @@ public class VirtualizedTableCellType : ElementCellTypeBase, ISupportUIPermissio if (dic.TryGetValue(item.Name, out var permission)) { item.allowRoles = permission.AllowRoles; + item.allowPermissionGroups = permission.AllowPermissionGroups; } } } @@ -448,16 +451,18 @@ public class VirtualizedTableCellType : ElementCellTypeBase, ISupportUIPermissio subUIPermissions = subUIPermissions.Union(Columns.OfType().Select(i => new SubUIPermission() { Name = i.Label, - AllowRoles = i.allowRoles - })).ToList(); + AllowRoles = i.allowRoles, + AllowPermissionGroups = i.allowPermissionGroups + })).ToList(); } if (this.ShowOperationColumn && this.OperationColumnSettings?.ActionButtons?.Count > 0) { subUIPermissions = subUIPermissions.Union(this.OperationColumnSettings.ActionButtons.OfType().Select(i => new SubUIPermission() { Name = i.Name, - AllowRoles = i.allowRoles - })).ToList(); + AllowRoles = i.allowRoles, + AllowPermissionGroups = i.allowPermissionGroups + })).ToList(); } var hashSet = new HashSet(); return subUIPermissions.Where(i => @@ -622,7 +627,16 @@ public class VirtualizedTableColumnSetting : VirtualizedTableColumnSettingBase, get; set; } = new List() { "FGC_Anonymous" }; - string INamedObject.Name + [JsonProperty(ObjectCreationHandling = ObjectCreationHandling.Replace)] + [PermissionGroupSelectorProperty] + [OrderWeight(30)] + [SRDisplayName(nameof(Resources.Permission))] + public List allowPermissionGroups + { + get; set; + } = [ "-2" ]; + + string INamedObject.Name { get => Label; set => Label = value; @@ -661,6 +675,19 @@ public class VirtualizedTableColumnSettingDesigner : ObjectDesigner ColumnSettingDesigner.InitCellTypeSettings(propertyName, propertyValue, properties); base.OnPropertyEditorChanged(propertyName, propertyValue, properties); } + + public override bool GetDesignerPropertyVisible(string propertyName, IBuilderContextBase contextBase) + { + if (propertyName == nameof(VirtualizedTableColumnSetting.allowRoles)) + { + return contextBase.PermissionMode == PermissionMode.Role; + } + if (propertyName == nameof(VirtualizedTableColumnSetting.allowPermissionGroups)) + { + return contextBase.PermissionMode == PermissionMode.PermissionGroup; + } + return base.GetDesignerPropertyVisible(propertyName, contextBase); + } } public class VirtualizedTableCellTypeDesigner : CellTypeDesigner, ISupportPropertyInitialize, @@ -1003,6 +1030,19 @@ public class VirtualizedTableActionButtonDesigner : ObjectDesigner } return base.GetEditorSetting(property, contextBase); } + + public override bool GetDesignerPropertyVisible(string propertyName, IBuilderContextBase contextBase) + { + if (propertyName == nameof(VirtualizedTableActionButton.allowRoles)) + { + return contextBase.PermissionMode == PermissionMode.Role; + } + if (propertyName == nameof(VirtualizedTableActionButton.allowPermissionGroups)) + { + return contextBase.PermissionMode == PermissionMode.PermissionGroup; + } + return base.GetDesignerPropertyVisible(propertyName, contextBase); + } } [Designer("ElementUI.VirtualizedTableActionButtonDesigner, ElementUI")] @@ -1065,7 +1105,17 @@ public class VirtualizedTableActionButton : ObjectPropertyBase, INamedObject get; set; } = new List() { "FGC_Anonymous" }; - public override bool GetDesignerPropertyVisible(string propertyName) + [JsonProperty(ObjectCreationHandling = ObjectCreationHandling.Replace)] + [PermissionGroupSelectorProperty] + [OrderWeight(30)] + [SRDisplayName(nameof(Resources.Permission))] + public List allowPermissionGroups + { + get; set; + } = ["-2"]; + + + public override bool GetDesignerPropertyVisible(string propertyName) { if (propertyName == nameof(Icon)) { diff --git a/ReferForguncyDLL/Forguncy.Commands.Design.dll b/ReferForguncyDLL/Forguncy.Commands.Design.dll index 95ebc65730be7b7ace80b6e70df3af442648f995..ef7b0d0e24160b0afeb59b64d7d8d0684457a0e6 100644 GIT binary patch delta 4357 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 DB7_mh delta 4279 zcmZvf3v^V)8OQ%KclYk@-A9tm29glWJG*%h$cDU4NC*Nc#E@bXN+5|zR;lukmwKq| zQc@045aLyeD2kA_%E306LyrieRE>(zN*|6rs604~Kss!5XuM z=am+#-+@n+ArkjmTC6wVq;1HYh(a@?5cRl7mU=#9PQw!0erp=N!2J~TH)hfBpha*Z z1-bznEJNlj+ydQ{gQubfZ24G7jd}47-%HQqK`Nhv3$_7@IYgb#!AXdGubm?J(M*BF z3)mw7CV$ZwqVCj$)m><@nrUv@@C?1|t6B@a7*5YgsQE0YVx;P_2bEK*7b%J;>5|HB zjZ~){LissHNoTA%=*$J939*B>Sl_0K`O+5^C4AP9stl>|(q{^(0;%4U4O(fgiLP-O z(~4rLIzy_Qh7}D>4$$gHwUis|{pK1PUo8|C4VuHKfgRJJq(*I$t{V7W#r`t;wk3YuXrZEN6fU$;k@e$Q$dyv#nC`zAg3#T{qpUbWoh0SCR?j}iK28xwjYtE=$8D7(%I>w*DdNl$X}~_sHakLPD*h&(8}yOW zr9`T->(pc=8Y3lNMhWu5_1;D-8&TUWZj1~2c3T!G)cmNslmc-1Zp0K<;f2^7fu8vPY0DHZD#AWSzFVdGg#A}h zQHVJqwcp_;wI--6agHYLFU0zg^9pT`h1e8w-sUJFwJqceXseV$oC&GdwMN>62c-%& zUxdq21-n*+ucTT>$FW}#Mm(Z`=SsFoE|k1S@_r&iH&La-e^`sd z3E~)hLQKUlECv-{L(CQ%Ryn+sPw?A?X%)>17Y4N&SlF;O12Jrn=7PxIiUgvHwK8Z1 zaWmd#uPBcZ|LEu^J`nXft(nb^4~T=>M>K;(=mM5wzf4TFe?b<}-?9sefg zBFB(V6S|C8fhojVEFsQ-pEw&Y66Z;_;}qrZB35HHzGU6>DRbWNn&hCQ!h|J7vYP3* z>^Ia((Z)oDHnt8$#&&60E4f?pIZ1_!$`;9V$!y7L$y&)e$yUjB$#q;r-Yr>e5D{7> z1Csuo^7g9aIY}60A0?}UR7HqZ$qw}$R2jR}GxW&@v#_T~wwgt)faE#zAlYFNtd?w* z3`p*jd{uIu{#i^MJFb5hQ|PbY>uIr6@P{Nt{&{5!aTVW6yky!=tTpWn+k@q+EWKpe z#D%@t{w#5ZZ67gP5tevKzvOXXhBP#U6i?G?^Vq3s{aY$Z;c07=}tBM-?(DKZ(duO{W$^4Uyw# zwD>q?(xh@>3t3$BZJSMeR9d#u?(f1j8#V31c3Pn>JgIMrO^xlR4Mcu*h8A}r>(-CN z##Sz*T@MiG2zhQ~kH~`8mrkUO>4y=T^%z%dWhZSxKa4OWD_{Ij% zuaA8bd*es8LbkVmhifj^&7%|gvqzg*e`P!~_fJc)8}xY@8G3idyy)Dv1y#v6ch_ut zxc=%TrR|FTpNy-Xvq_4HaW#b{IRj@+V9rG`fni!gEXfW7nHH6!I)~@*q5RC&-iM!dzyI{3=LZM2_!b=exMXj)^Rv(2FZ#umM(@N!kN&I1 zn|?Xvo&I9+XB6ivjbDJ(&!Y1S8|d0Oovv%2JER$1^#7M8Dd4H2OCOt?J}$X>^7b8X zCQd(mpy8vsgW5(>YD#%??UIhp=BZ1T-LZ0U`~A(nP)1*xyTBW&QF=90gW6sG`?qQv z8k(OfnYa63h)x!N&6`8qs7`OeO^+Xw14}khL^6}seEz2#rr+uy=DC|6ECx#38w!8 Dzg{XF diff --git a/ReferForguncyDLL/Forguncy.Commands.dll b/ReferForguncyDLL/Forguncy.Commands.dll index d276657c84d799a5be1744a72bd23ea22963a873..6f9353f3d8aae7abf3bfe33e932e06bbb4739aa2 100644 GIT binary patch delta 10318 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 Ai~s-t delta 10134 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 RdMS#npfR@YvZ(K(|4#$2h#UX_ diff --git a/ReferForguncyDLL/Forguncy.RbacPermission.Abstractions.dll b/ReferForguncyDLL/Forguncy.RbacPermission.Abstractions.dll index 241daac992694d166d85edc56d80acdfc7afbf0e..048da63013632de4d01aeb5a278c088e093a66e6 100644 GIT binary patch literal 16384 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 Pu;CN1{ZEts?<4R(X$t9l delta 4676 zcmbVQeRLGn6~FJz&g{&R-Ry2YNJ2<9*?b2=5=clOB*8=!Z3vj4Lc@W4?2-s3KvpQE zb>pE@zo@{VQX5VMEQg~|srZT3s(~%_poq#*TZ>xJ;vW^QoFmmL{k=Dv?AqgBeS7Y2 z?(g3F?tAm*&7GGF53}L+ZFjUyJ5=^Jinb3Z*EfNc6Zv4!E#u!Ca231}Lgbb@C$dQz zyV5WWulGE$LwmgP z>A#ie1g`HmptptA_4ThD6dfL#XieY0xQ!l$?uN~O)#CZhxIO`XQ3bzZ^+1;hM#Eg# z4cQMFMl#6PY&xaF05ubWiBJ**cSofVbf-k3Fr`4rfw&-(Acc?#5YZ9&rQMDzQH5RD z!~&dBkLeoKX#&sKey=CeIXn$4jCxSh$gh24*Qi4ks7pOv>eUi2Nc_|$ya&|qG2KC1 z=xw`;_S0_Wr5)-PL!+;uYna^UhKm%oo4M$)wER>1+;CuOZ=>_W%5vaOZ33G~;N5nC zFRIJ!sWhY-a^aWBIWzRxgY~XPN@md}vv>8LM3 zGB>k)PRZs*nM<KYl~)aOICp_VKJLzNx$WP5)Tj$M9ef#=ztXM}e< z;k$_}mLu71QD3fP3!^@ZjXJEz66qUe7Auu(jbLFUog(S^XvZ?iY85NAQnKu*uS&9q zx#gQF+2b~g)e^%}Z?OgKeaP7$nNt@`i?W^4Hvvr3df5_o{qSBr+=0tIy1-#Y;48o} zcfV}~EGsmDH%UCDtQhz1Vm+`ADFT<;1wP9K9+Ub$htO}3_%E%;+PM^Qp2N^lLJ{@d zFg9C^rW-fMIo&o*zTRTbN1Pk@dL~|W(IU>=9dWEh3C6KUja6~1MX8NrJxT~HI)23YsIiHQ(koiT`LeM&j=hJ4DzaSg zeT;RAu|eBbUOetwXw=5BP9qe@=Hq@##v{ezgIVKSyF2C-1IE}^#||E2yBrV1v2FI< zTzpPMi>T|2{gN@7hn>r4sVrJsu%{X2;w9j;56I#$98Wm?+%e|nbQUQUnu)iQ(e<*M zh2Kx-b}Q5x?d5j!AJF3mK8#2)iSb@xnVQSlDbaaZv;Ke4?PheJ&QbL=azI@8%z7cI zkPH;>I*1pN3dx{w3N1s$FM=dMvS4n9EQ1t55+K5si|=&-rBeyIl;K1%qBHUUHP}Y* z1uX`;sX}6{#JLjZOI##ziNsEceLzOH(MT96-UZRYF9* zlQ=5zBZ+=RWN4DOSs8@Rv1M)8Xf9wP_JA9!>cwMAA}3bUg$FJ6g9i^aoJ47$>7W_V zh|X(I;wv-4j{@(PIH11(yBkW)79mXQz0DF=6rw+$=7@JN#gX3LvLSgL2 zG!wl!)u12Gq*`?0Gz-C;W+RMY|5ibtLo>}o=@Y}YVe35HgNGwd3d8d3H};u^f%<7V z%2O;#=o@fE71!^_)uH_SZ`>m?PJG(M2%>GEFUPyt!W6`)qLhfMip^tP-E@&NxwSSS zsfz7oaWB1z$!p+K5YMrvw#oB`Pxd3Mw&+h-#c7IArbvGpRxgO7kA_EBhq0RR5bIC` zI>_OK;-XH3nsX;Lo93i0Q_pNSyEDHt--q9*2^KiJkiuqMzn&>!mT>mMZZv#LCEc1foB#}dE!pORv;x^#N>1UrQ^~b6!d@i>F4+i&Im=x}tejL)Jh-HXnIb>pq5@bC^ryI`D|itso{(pa%cpo3r+CLGX6l_HAT1%(T2Hvq#t76mI}% zE5b@CMdX5li2%~<_+lc$Wd_S#4Guw~a}cUE2ZVL#R+zUgs$fjy3W*fGW4>PV&*g8H zRoB!8tE+2fl-G0yD*{!)?w-o-?m)07I5QBas_Y3&57t!HbX8Ro6*I~cI|{E=8N=WH zmn-v*E6D#I_=-UfUPa?GVwxl>(?h48M)I+C zTIjy*IjMZK!R)OrHh173Dz2K@tntV-HLokJ)hNHU6huK5+6LY!1yO@E042l2XoNGAZslULsm)rjfDxLOn diff --git a/ReferForguncyDLL/GrapeCity.Forguncy.CellTypes.Design.dll b/ReferForguncyDLL/GrapeCity.Forguncy.CellTypes.Design.dll index bbefc606d032d81c3688bd23987f9ae618942155..946e9969127b9c711699de566e5a33e85544cff6 100644 GIT binary patch delta 7000 zcmZXZ30PBSy2sz|oSfv4kdP1{AqxblA}$D`Riutk+B(>}f~~j)5Cp9|xQyDsSRHq3 zPp!3D3vR92+g7pK8JQBsW$LtOE7L{02-UG_YkQsETYK+qXXgFhd?d_s!;@d$|Ns5= zoSgHWL){rx_bz*8T@O}uU=N5_2lVinSSG+^G}Mr3T(<3ShEz0T+m&AIgvMB!vVRFc zvG!p}KdpqN8LgABoDbiVwGFHH73~;2aN-W3bhsHeb_{umc>$= z#!2&JHlwLUnJ5h(+7lr4DS-X>IVc6=qMAk3^JXpP)joX$K!=~H6N}(;jIBH#IkE5| z{QMU6ueI@NcKo-fPT*U@cQU@6_%>@h)#0|DPCeKxoc*HP9Wn5*_O)72%=NpbOEx`B ziRP3&Wp*qV&HbaMc84DFu(T0667RY#P-MPrkA+dDHfI9-D(0@+1+RPVx?|x?e48@~ zCc!!A0nQ}tsi=hNLk`~D=6HRa9{!7{LYdtNE$+MSKJYi=4TlT1*mk>OVM1J+GZuz< z+ngD2+jq&90XNN;Y)LQ*n~R0Ho;Ifu${fqU1%2$hT}D`KT?R(D>RSeSNP(f+FHzn= zo3jV3H}S!h8F*{a$!*R)P;9^9u)uf8+@FO`Ec8RVU|%fnH-Lk-z^~NHb_=`~!`aJs z***{+Hr(^x4+AX6aOAyd%<-;!UOk*L^Q9>>aaP;Q>@K)#;!AKwy&G^FVS$&6w{UuT z7?0H~ASGPJ3Gbj4(ox65Y-XoP?jb|$r9a|*5qFFFcUA*xhTb%|W5&E3h|(Ulxnt%zo{)39JadUwYnz|*xo?I1VAxyfYnKYbYMajr5!K@Pt<29={B_QJ zQS-(Q2neN&On6-$1$V?qpEow6`fs657=x((A=E|pS@}`Wr}CO>)ebjT&j^JO+w|TEy<4nkLj%=P&YD zs1WLPr(QP}<_Yy}OtU-=mIxJV4Wbe~Q1|0uoyhTJ8V}E;8bY(!rWM%x2CTXwIM&s0 zyc^Z2kfO@Pp{2r=vzgL#5%n%M6;a#Vt0AH$M>We4WsU70si(M;2mYJN4d^Czb)g(e zeoXg7H&vu739FUK({xkAYD98{ZhAL0SLY9_q1Gk3@~|pIH8ZRhxL4^yCq6tFl-thr zx32P+n-x}@;W=GZmoop;+AdXhDdpv;J-Ub*qwdqq4(GeSW-|WhRU8Zf8}kKSBEQhLYlTZJ}t1q(=0y?Ux?#ly(ft3Mz`Z* zO}IvJa;6eddF*~=Z8-OmNe}D7YOgm%iKunn2bB$7IrC&|v%D#+<_7R+j>wjzW_fcs z`EgRPo2qd&%Ui;^b*^AHH8XycvNfDrfa)3eUQDSq`Eg|%+!N|T@)T5XA1}NXe*ghJ zJPT1FsXF7El+#~?y+S6j?aD4VEYtvY09BJvy=-T-i;l#c zB+ps-C3s)B=^lpH-j9Sj&YI;t@P$wpSrFBYkix4%igRS(gwhCwJ!$Dx)pQEg1fia^ zHOqTpvQVpRK~&{J9mGNJgE>N-#6jAxFHJp1m@tSg|OPR9_ zx0J(Sm23FEn_6u6(W@K@C)XN&jwt2+SXr+SSeK= zJ?;K^`keBrsafXt0{nH(JV^57Y8zeYeY>02)ox1pfn8I=6_nKp&DvF0@|2DQzCB%P z>Y;A6wHJ-7|(>a9OP~#3fj*Ixu>;e;MzeBnbIAaS?xwoBQ06v7|QClhLyoJ7aK` z*n-1l&|4ooF>34OVk0QhImZP`81t(dSMF|lHu2J{N~Gv zMHRRh6B*IJXZiknxX)_Ui!z}OI3;*oJL2`4pYnDe#7EwAS7;UAMqd&u`ZTRHcr<6y zu_0oiXfZ=^*PM7mk!6=5n#%BH$A&bPoEkWpWQI<>TPS2vP~~7?L+bHDQ-$|)=}0SN z5p#(7#6seDVhOR7SWR3=T#jV09vKfik$O0Ubi?nFDR38Qg%Va3>qvuiiHm%s9=74K zzm=S7u5#>vh3Fi>(|eWnx8!|+qiPx~hCiqoU;?ip1MfI`A>DWp%vH(6rJ_?=4B5+~dDa3Lpz<3Ta4_3oUmM^#wj;aN)0*X{WIi-T=2h?)VFkMGh zy&$j9NO2?H;`N|aKfp5l6n8!2w2I7sDN$!R6$G&vo_PVzg+zedh2B1pVrCeg4YJ}jA>lmJ;N zWTldoN6aTbpZo%H{KQi7OUW-Mr=Fa8a#oYmNKPX;`^ae}r9C@kPvkq85?yAnHCkL z9)Y1zS%oV9hJsO?9YiqlrhUXbqMuktY|xJ0H-H7T&ihgW4bi-0gPGUOi{bPW>xd1+ zAhCl8R$j(O%p>}Vb;Jf@kk~=IZf(N$!A9*9{WjiX9kC&aK7vHQof5f=-@=L{1+ukLXX-_Vh}y)#0t%O6K?Se(E^2mR^BCM`FGnpcNiLjxvox`eMdX zT#R&hxIf!if_&V<;~m8R?<{vt!|Wo*EaWuD9HeaHwf<=3yh_~e<8ixZ3Gxrd70BxW zH*UOPZyXmV6IUabu+7M0&fUlaEB8ayu2}f6j>R89#+%+mzE90`V@v!H@p&Toe(n&`=bL@0!k|e@4BCT;Tl(dCC46 z@<|^rpUpavgKT^P1s=|J#{Hd)&ob0;ndvUZ^)~LGqFVQ8C<7DtpdH?l>G(0i@FQ}A z;b&x@IKIf=B}=%inMOsY(F{%+RCER>T98)aP>%!S<59e`v&43lcXJb|;`Kqo2XVW# z#Ps(9?&f@%1C zkim4M1b%#^#h?@^K^f#?T#l4rCJe{80x98Ryb;K%0OaFGH54Fc!^6lqFcP^OA45ub zk$)7q5g(l}*o2f|GmOP}3sQpZIBW*bBPG~@!)EXTQo>EaM2ufVN_gYJpC#@=O3;9V zXZVP$1mnFpcn13*Fa^ba96f^rND24$GcbMyDZ#5a2ZprOt{1#He{qcN^Pa-9F8x{so{2msfIE8x< z2F*wb{s^@gzk`&Z1(sqQL`wKeT#oUdkP@86i#>xgND0ouDvZw|C46|v+dPky;4e^* z@q0)KKERCvgAb7sT!J+iw<7}*K79NgTA$!zSk|V!(Jz;MtbNljEj<=@&XF=aJ`Mj#p2~%I9fcWMZvPw>)l}PmLV{~# zMa@H{HKqAw^J{CyRVZy_Lo!|WK*!m&9UB0GC4Nb3& zd0n=ceGng8cb>(^E|e^urpXfq=`u2h4lbWrSy`4{nmu@MPG)IYX64|l%F3+lL7CYV zgK~1pvj)yAn^{=_(3?T3mi357%PTQ7U42|(_$a3D-e~9P_7&{!H;;QpEcvv@xM7ou z%Hw~WsB*O^a7cW7Qg%XR?V%4wbqtZ$d~q^q!P4djT8dxJ z?%2Qd;&R8I=PcjvYU_XZ#_(t7uFVKUJ&{+J-81b6(^CmgZfZK5wWU{M&rL5s{mu2_ z50_2EfD-McS=Nv-^um z-oBy|b`I-*PIc3|FR}Tq*H2nqi5vd`wY#K`cDAIj$>(ooO_s?&%VRTP zD4sCN@eruQzcM_Ll;V3Z{^dX>#%0J#R9TeI!rUNqvhl|@2utK(%`6y*waci5il&n3 RZ!jr(Xp_zVJ=>OP_!rnL#wGv& delta 6892 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 diff --git a/ReferForguncyDLL/GrapeCity.Forguncy.CellTypes.dll b/ReferForguncyDLL/GrapeCity.Forguncy.CellTypes.dll index 1f0d4230a1cfeeb8d9cff8e00252150465a538b6..056defa9b0938604a9f814c4c0b8ebda4fba7305 100644 GIT binary patch literal 70656 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%0D_jbrCR1Ru0*D#CO5tuAt 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 literal 69632 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 J`e(0!e*{CKb^`za diff --git a/ReferForguncyDLL/GrapeCity.Forguncy.Plugin.Design.dll b/ReferForguncyDLL/GrapeCity.Forguncy.Plugin.Design.dll index dafdf3b577233034e8d77cbd0c94bd57c2d97196..97bd7af14ca139e2a543509100b315629bedf45e 100644 GIT binary patch delta 13361 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 Jh|Pue{{eqkIh+6h delta 12808 zcmbta349gR)j#*n+mrY5@?PG{_VV(=mIY)d1lbZnAS@CD6a-5G0s;*wMnjfw>;MXPA?RTSK5Yc*Q*``EbM85J zo0&WFCjK`O|3YlPt<%X9cQuo>HBqNng6K`O6bhHAJh*koBR#d-7Kt5iclFKMN;FaF ztBJPTcH{&TYl#xU%Wfx{Vq93>!_|fAcES) zV3%Yke?OwyYl+;fZG#hAh~h>c(b*`IQ^a6nuN()wAjgXWW0*FOF>378W{H8u-?W|H z!9)&{D+ST=WrK}fw!!c|X&aF`8v11!M4r`Xmhf~ZM?oi#XP^o8qm**aV4jmCeNBkCIg0qL4R<74*d1Ci2E9?0ffysy_ zMcV=%vjR3)0beq%Nt%~_9Bkzd8!cbC2atDI8C5M`F-|3^0WI)n0!R6K8u|VlW0!xT z7<%Zef3^@)j4^@X;zQ%MKz721D0NvvfW8a$H4X*_qCp=8wgJ}$M**J?swTb{9OyC| zSMZ&2BBi_GPjNt9mNHo+8V{v(A40+2f)X&boJ7gAGSxxLFU>=7qo@2fgX-;&+fcX=B(y3w#@O96s|Y(v5Kh<0-~pdzIejQw1(?u{|6#NG~E~ zLt2-xhdxhLc$Tr2(GI}@<@dk2#o_hu{GqN`6;tA9W>Ib+H@Uj$~~b-n4U<~DTD5odP)X8 zlBTElC_8pE;-ECN+d(%0!?ZHI4rQN1*)Uy9Jc?3ZM1VRyh=YTMAzYZkv2~d~n(RLs z$)K-XRap*Nm8cS5$;qBg55e=B)Q#aN?L<4Gbem7LX|YFDbZJOc-OUZ?m)#}YiO!^} zwoX7>9T+AR=K`X2qXY7{Nf{K))KkKwj|i*uv;E3!gcQ27w}uL+!c&;$pc;f$<5{5q zK?K!c9@Qpx3AeE)vP_o5w(l(#X6Eslwoc6UMore4*%8HbgzQ0;2s%92B|IIhAF~gV zyM$w?_h@E8ur8Qx<6!qwCOo@f225qP!LOK~ZeX^6Su!nP_PxaxG5e5Nh*mT6a1=d6 zYnZ+pP+`((1G5Qi%%t0xUB|Xe+Q#hns7xNtgZr7i!9lywL(F<|Mf2&unC;?n`E-z3 zjb(d+S*mH%=`hpLOncJrm^}s88>kPx%6l9wm`&n@!|7{gKW0`;7nvR5C|8hf6RJzUW#bj(V0Ia|ekA#rtzp-Z-wfumBC-sMm}Z)gf%c0CHT+aK3)XmTC~ zKFS4#g;n7pQH3QT)h3)mL?aF7fOW_oj%>*~wl;&Bd!amODfae`;l{m+q zQ?+`j3+l||MK%v`sRZk}rVlV4;Lu-jtzUA#4C_et%w@bw`=Mr+?Kpg}Dm0*tJEbuW7ZOW>9b0`7+d}dOE zeQM-W_*`NmB40_%1Y6$-X|2qAGS%J6^agJ@&DTmBycaxWqRsW=wDIj&q9@qqX}>F& z){ed6IZRq>`ibGFX5JA9>Hiw-s;PU0+8XSqq6KYC_r8$TtBu;d(f)1B`$R&SP`5|5 zHF$S)U|Q-GTAS@p;dabkCq}o~?7PJ@&1(ih`X#}6T2d?1bE6Jwqcg;^cE&Mcjh5W% zdaGF9jx81&wP35QNo>>jLJ3WSw^{DeQZL!OUxKAwV)i0YqhTe*TZ8w%b$Ud@ebJ&{ z)6q6&Pw*bsGFxr;x&NR=TG;{jTkY8R(0Gy6YP&wvq_wdJvdToX)%Ke#KeaOZOG)}! zE&Gzu{`aJ_TCA0M{b#kDR`xDzoh~u&E5S0MRsw26dxL&n7ntmR*t)Pq*`9>0jZH}! zFVt#7Z4KUeNljT=S1OAsy2MNxUZ8oTOLib*ivaThGwUiev_DB>rT&@CB(VJWUvz!`%6OD)`Q+Rnft5Y zUb>7T+{gy^hmlO%Wz^ebVsdKOxIa5nZ_#?vy{y~hS{qEVnZF22N+KZb&k;NWK%F*Fk zV$nB3-E4iS)MD?2dVo!_*hjGSqn*qeNHwz`ow95`(a+YO&RDFo7z%dI^c01$F}49z z#N%aFrjWKW+vF-pDHD1jJ!H|M6h9TxX^Z_bwMq=6_bhfGwM839=PcIbt`bG`g~k5v zZqbUU#bO_2Uu_#i=9Jjv^2DZrd3b_sat-s(vRzIAi%s;;wOy`LrbT5|rfo2Fwph2U z#b7;{HMrE!4WTlNsm>ol^G#14m?89w4(yE%o*$bw7lpea%3m!O2=@Tf|6#eRc{r5( z-PFWwaH$kSDVNzMPBD~vcd(5yZLVXXy)=}{E%s_C$2OF9TC7KOFK*qBTC9IG$2N?b zEY>wtC2%9xE!r>Cq7A1WxhlOmGQ~8~VrpQDX^qLaG9~mVGqa*4^g;*Qs~v2A?qKug zaRx-W$yP#R@^mxdvCul(2r4&?u2(|>PY*jS)+4&kHj*B-SpO*Qm(*l2)ru?WYm2Ey zTuD9fw8k2D&M$>KiSS>17fiRZ(&pRKWE{m=>@?lerpG zs>E0t#;nqHCZ$CiOQS8DIuFLtM2o5OU>r@e*lP(@Vmy^!@=R#a#?u0eEsIo%3A92n z9j)IOY0)Ook1gZDjPBH#_ladXs5`OPvQ-)5oSO`r;1T)pXG+NbX&>$z<=Y`l-^D z=)MEY&&-T6g>so~a;*(ki7C{}Vm}MEXj7=jVn%wIm`cSa(_Igz`?2mXwTva0Y}e2v zi_O4fyN0f_SikftaV^cZ*fn3+|ZPKIgYSu&lDSvFmr z>C@@$4#xL86#TY>4YwC;mx5+8Gp`WSsY@%n*EXG|n9QYP0?(wG7P|uzcqYxY*cHj1 zDseq6vFIdEi)IY#mNB(S`w_ihDc7cziCOdtvr5;NG(XLvH!hWjt(@MmY*)ipPUo1J zHLRdPm#O-y8s2N{@0O`IX*bYfQ|D5V=h7->X5_iF-m+Z*+dSH6*;M3tw4Iq5c|QHx z@*I-*fNefKX0g)5hrymQ8L~cXyOG{uwu7E?KUQR0K#^W%7pkeYkYW~71F?_>GTY?Z zk$Kp*kcL~VCbQPibJfjy5ly#r*JM?R#Z+OjC0Q-nVp?di$1|(M5?X1o#>^IN3Eg6` znEMsmQo7Y*gWV^=wpuJH`%T+2+G(*~+3$kwvDlWxsySjg?X~Fri7nc4I$*KEsQd~# zY_T$|2UgJY7Mly(N_x>^x4^cNPFSoN6}^exwAi<(sPU7$4776<{moSJd|gcwu)a`N z%FZ~GSJPCB^~0IGn#!4(!*VmNwV3MNo9Q0QQ>`s-rVmWUF>h7@u{C&$v4m@5W0RV6 z6g0O6?>+vrwl%Hn5&uVEpIbqbQ^t$6^p(ZZQ<}83gyjvk2GJ7u!nTf5EVjw>jqMi7 zv)H-BGO?ZpTkHxc?CWV5GxJQ+<22ed^5rN_<1MDWHFhZ2DZv% z+`>v)Zt+JSBDJ$O z6!8U}V>yT8Z%qV&kSexsPX$HMp2{Lc;vmL z|5wTWbN_3&t4;i2G`zz3q3Zvt84*(x?F~+*hODE!0i&+bU_7pOh_55Pni`wi8P+B_ zDGhIp_u|*1)9C^)_tg_&I?zM;KtC>g3I{QkFqSe-Vw}!c!MK2N1>-uPpp(E5CW*nGRrENDIcSg^o3#UY!hJXG5IxiO z0#B#!qY~*#IShO`a+FeNu;)({f&V#ZYO+7WBfKhGD&Nf*DkjOs^iiTwjLjM^9;b5M zUnY)-rD;>dbopjvCgek&rQ)QxFJp~(ORU9`rCE$fEfYNuVmsap{8gNzMzI?=+V0cQ)X~RSEq}252AT09vSU3FBtQZ9qw0xmo7YO{9mNJ@F&TtM;B0 zq*K65`Wvt_T?BTg!H%AIr#u!on5F_p;75_3c$2&xIGGxOGZ^R4=a3fx$I>nIy`zF| zC6}{;ZYQs^j^#R*Utnu9YnqitcmA1GLZ|{lr~)}G=dfHXRJd}+3f5P!KF*p-)>N`) zGi$0DYgk{y`hBdaV@(}v8d=lK8oilS=UF8rS3;^vxTQ**&p3iH2e%TJGe=X_5|&F? zu3))>b6Z(o%$gF`l(1%`-9S&2 zvc8;g0b`u8l07Tgvxemwmg`uqW4W2-X8Y|r5(@`c!oihrs7mCpCWkfotSMnl32Q1? zu3)*6ntgm2A z1&63)xsv4?mTOq9W4VsyW|o^-7A{WjQqf{AWYHZttjb|k3CkrcSFl{c@;>G2Xkrby zRS36RY06oSGgdR!GB&dHJfqvAJYybJDxc+ImYW#$^Q@u-WsWfxGnO+hNKl32EN^DH zn&n!?M%Fa3Oo=K&En^d7zE_o9z*y>InQ=4YKE_6!59b-(Ny;goaUWwNW4T|2jx$y> z)|!~C^i7Nu;07=jGnO;P8LJs<8Jid>$o@f||HVwo8RLxAra4796*I;es~Kwgh6pop^S++4XrYd`{Yw#UImPghnM13n6RoArv<`Rl_4wgm{gi(ywUeDF zBP|#BrKbnbo!%Sh_w)z8m^BFaRD#m)VsxesgZyq-;Xh~u@SuANup*>NJ(i_B&juA9 z3F_*wFi9D*W7h#+mF2*b*-Bm+z5)1ca3S#H$Wma4ty`kXrza;nkff|x;Z?xTLJD)m zkAXu{ROExH%JUnyLSL*3IN84iSdgWnA*POl8OX#i2Qt&Q*PjTfG(}N`14AmDnV_T3 zcJ@)&-Y1p)7iG6q+AO6ShQ+zrGPAACDQ)$AKS9ZxBMM*5*a@7K(blGI+%hweSzW*T zm+&z)w+B_JN7I%6tf;Ec#B`<68QWD_@6h@?xsFpk%C*j|2IY=472+C3v)I4VPe^XZ|1|$Z062ik)>iD&r~?veGu3$`zfIQV4_k@;jz>izh|e%N$CgvQ!CAp-oi6x zcJc*Mo85qDxC$Zy0ESyQHIDvD3ctFKTCvYyML+*+bPf$0Y#L1fl zIgc}3hVxHQPoSh;C?{|_=Rod*(gMHhcZS>#r3IG4T_F!ZX+ecL4icZL zzfVcL-0uav0>uT507|@J?+5uxpu`6g10at9N*agKg2n?SJ_Et;EOZr6;)*dCI0;t~ zfh)#P$Wswpy*wQb`C6>L1+F4`3CMJ$5ct?-1mqb=fgi7dcz8!5K|caYykIPaTn?1@ zP-Gl%HquF&i$oGH0w=*bA1LWYthgn<&6o;YghY}SBZHtNK#A+r49LrX64$Hi)pO+v zB$9XoHVg7iK#7kxDu8Qf4)DiFA+YwI3;8EVfnV-{cvHZif9OC-c;y3qB~W6?z65d= zP~tnMWso-kCH)L}ByC0pNn4OXVp+e2jMs*^^g9q<(9eOAwj;ct9Y9HU;$6HT11M=H z!VB63lyn!82)Y}H7a2$*Xg5&OFOUQ;HGp_PMk+yjfRgS*Dv3`?wgGF9N6-U6Ne?2A zq=$5*5O|6-Kz@Z3f_@E@^e|EgJRjW+`4OZL^c$e0N0CC%exRfSNFnhh%KgBD2rlUf zgq8GL#1r%sP|^{^6ZAAt(ow_{^bAnavxq0?InsXv@;m|xss&1_qsM?R;8{}8F`%S+ zIs~}^DDkDylaOBmN@_$Ri7!}=K=TSv;`^1Oz~3Xdq!Wm$9%P?~{5qlv`U4Qp+lVdb z6j0J1sa|#RX{3ihBaxs# z10}tWM1sx&B|f1!1^FCM(s|^O^bs;h`WUe#KB+lFc(?Ew4w61cSiJ87N_<_@4EZlW ziEnHE3~WI_N#7u#pl^W^U)h`oeuq$kz6W9fAk;TH0*I@P_#9{x7l1DDSD;&b39APv zDM5S%OcX676Yverw;+CTk&O88sNN(V#OpB^?%J2OdeIecDhP`P!Z%Rn_L@*1T6Oe0 zE!MGL$Fd>*q@ca-w3vkVL>F1i0~Q{d zU!3nb^x)XBu0x*5?i6F<{008MpPNvq?YeW~BR4*iKYU^SA>*a_+4@Eih;Mepgh-A* z?r=((9N(`wg|s`N*w1(*!Knq}`^^6Yl7Y%(^FPrqv?%$bxWq@v?m?h^hyaw%m=uvf zWjZ4HYzXS*K=r^tybgDXKxLLKCL$4+(}{$Q_&1i^*je8uqzom;ad3tL@#8WgQL&&1 zlEc*6QOzLPNlKs3tZO|oc(J>%M;uNYEV7d`Arx355TRN6B7ykXh%YM;KOcyH8i-$z zsNa{7_6{x*fy(?q{EU5ijNq-sD1zPRj0siDmw+#`q7(|00J)LpRf+hS6NGxtk}v^i84IegOLwK>pqm&0nTVkZ@x zQcy1)E(c5{=t7iuOFAOzct*K%P~~(HP$`^HReFtQ7nbVYm@VM<`F!lN!iE;D@W*5* zup0e=QtJZ#z%LKaDf zfBc9Mi0{?{Is&R>kz~^is!JL*cmWp&-=pSRAif840Helo4GfrY=0x1D45}W<@gt^r zAD63xUPb^u9~Dbzs3xCdfxbZ9J4X%Dy@ zF-+Hh%Zn_&2u9EiwpI;?7o#a6s5I)2as3uG!Z7Apecalid8p$ad!Fhye5fN?Is(bd zQaxj%n~SObV1APE6uewcWx?!%25n_L!`^0FRNRZo8@12#p!zQ5kLvtp$*H`;qCxWt z3yb>qE~=Q;Z+w!%L^>^i*iZ!v#x@ zU)40f@r|yTqwH6@KTCRY=Hm(DUQONo+O8Wn+_ItTyI~#IK>+7E+2ZHaleDdwn##KGtj-e}`F8oKgNjpB>`sIzg*B*HK zuFnd_FUwdsV#G(On;-tDYJBb|7vK2Zv6mC~_wRYJ=tr~F1@hBpo;*)tLYaiT6Z=EA zV_%{y<|c4ZpPZ>rG>W!jUuqm)*6Fg`N2U*1x8?YicaGe%Ra^9zVajdfF<`8G>KhYPK5H%QK|0 z)p%xk{-F<+=ZQO4^grZV`H42M5X;g*Sl<=muLx_`-oOg*K3I?qz;O=lM}2{Fz~@1p phlS`|w)F*@i{|& diff --git a/ReferForguncyDLL/GrapeCity.Forguncy.Plugin.dll b/ReferForguncyDLL/GrapeCity.Forguncy.Plugin.dll index 0e8d97d2012c7c074db56f7093b4e4cfe211b86e..70439df9415024a7b47894a4bf74a9038d2a2a0c 100644 GIT binary patch literal 61952 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 delta 26288 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 rPsNA$P2pHR(iA8_Pcdc`PNBC8Tx+!uS5sf diff --git a/Resources/CellTypes/NavMenu.ts b/Resources/CellTypes/NavMenu.ts index b12df2f..caa0435 100644 --- a/Resources/CellTypes/NavMenu.ts +++ b/Resources/CellTypes/NavMenu.ts @@ -487,7 +487,7 @@ namespace ElementCellTypes { } return options.filter((option, index) => { if (permissions[index]) { - const hasPermission = this.checkRoleAuthority(permissions[index].AllowRoles); + const hasPermission = this.checkPermission(permissions[index]); if (hasPermission) { option.children = this.filterOptionsByPermission(option.children, permissions[index].Children); } @@ -497,6 +497,18 @@ namespace ElementCellTypes { }); } + private checkPermission(permission: Forguncy.Plugin.SubUIPermission): boolean { + const permissionMode = this.getPermissionMode(); + switch (permissionMode) { + case Forguncy.PermissionMode.Role: + return this.checkRoleAuthority(permission.AllowRoles); + case Forguncy.PermissionMode.PermissionGroup: + return this.checkPermissionGroupsAuthority(permission.AllowPermissionGroups); + default: + return false; + } + } + private getDefaultMenuItemSlot() { return ` diff --git a/Resources/CellTypes/Table.ts b/Resources/CellTypes/Table.ts index 97ad687..b34b39c 100644 --- a/Resources/CellTypes/Table.ts +++ b/Resources/CellTypes/Table.ts @@ -101,7 +101,7 @@ namespace ElementCellTypes { if (!this.isDesignerPreview && uiPermission?.Children) { for (var i = 0; i < uiPermission.Children.length; i++) { var permission = uiPermission.Children[i]; - permissionDic[permission.Name] = permission.AllowRoles; + permissionDic[permission.Name] = permission } } @@ -115,13 +115,13 @@ namespace ElementCellTypes { } cellType.columns.forEach(c => { if (permissionDic[c.label]) { - c.hide = !this.checkRoleAuthority(permissionDic[c.label]); + c.hide = !this.checkPermission(permissionDic[c.label]); } c.label = this.getApplicationResource(c.label); }); cellType.actionButtons.forEach(b => { if (permissionDic[b.Name]) { - b.hide = !this.checkRoleAuthority(permissionDic[b.Name]); + b.hide = !this.checkPermission(permissionDic[b.Name]); } b.Name = this.getApplicationResource(b.Name); }); @@ -503,6 +503,18 @@ height="100%" return true; } + private checkPermission(permission: Forguncy.Plugin.SubUIPermission): boolean { + const permissionMode = this.getPermissionMode(); + switch (permissionMode) { + case Forguncy.PermissionMode.Role: + return this.checkRoleAuthority(permission.AllowRoles); + case Forguncy.PermissionMode.PermissionGroup: + return this.checkPermissionGroupsAuthority(permission.AllowPermissionGroups); + default: + return false; + } + } + public getCustomSlotByPath(slotPath: SlotPath): string { let slot = super.getCustomSlotByPath(slotPath); if (this.isEmpty(slot)) { diff --git a/Resources/CellTypes/VirtualizedTable.ts b/Resources/CellTypes/VirtualizedTable.ts index 1ad4cb3..a2af83d 100644 --- a/Resources/CellTypes/VirtualizedTable.ts +++ b/Resources/CellTypes/VirtualizedTable.ts @@ -425,6 +425,18 @@ namespace ElementCellTypes { return newColumns; } + private checkPermission(permission: Forguncy.Plugin.SubUIPermission): boolean { + const permissionMode = this.getPermissionMode(); + switch (permissionMode) { + case Forguncy.PermissionMode.Role: + return this.checkRoleAuthority(permission.AllowRoles); + case Forguncy.PermissionMode.PermissionGroup: + return this.checkPermissionGroupsAuthority(permission.AllowPermissionGroups); + default: + return false; + } + } + public onPageLoaded(info: Forguncy.Plugin.CellTypeInfo) { const self = this; let isLoading = false; @@ -434,7 +446,7 @@ namespace ElementCellTypes { if (!this.isDesignerPreview && uiPermission?.Children) { for (var i = 0; i < uiPermission.Children.length; i++) { var permission = uiPermission.Children[i]; - permissionDic[permission.Name] = permission.AllowRoles; + permissionDic[permission.Name] = permission; } } @@ -454,14 +466,14 @@ namespace ElementCellTypes { this.cellType.Columns.forEach(c => { if (permissionDic[c.Label]) { - c.hide = !this.checkRoleAuthority(permissionDic[c.Label]); + c.hide = !this.checkPermission(permissionDic[c.Label]); } }); this.cellType.Columns = this.cellType.Columns.filter(i => !i.hide); this.cellType.OperationColumnSettings.ActionButtons.forEach((button: IActionButton) => { if (permissionDic[button.Name]) { - button.hide = !this.checkRoleAuthority(permissionDic[button.Name]); + button.hide = !this.checkPermission(permissionDic[button.Name]); } button.StyleType = Forguncy.ConvertToCssColor(button.StyleType); diff --git a/Resources/Declaration/forguncy.Plugin.d.ts b/Resources/Declaration/forguncy.Plugin.d.ts index 76b662c..f5fb54a 100644 --- a/Resources/Declaration/forguncy.Plugin.d.ts +++ b/Resources/Declaration/forguncy.Plugin.d.ts @@ -452,6 +452,26 @@ declare namespace Forguncy.Plugin { */ protected checkRoleAuthority(allowRoles: string[]): boolean; + /** + * Check whether the current user exists in allow access permission groups. + * 检查当前用户是否在有权限的权限组列表中。 + * + * @param allowPermissionGroups The permission group list which has ui permission. + * 有权限的权限组列表。 + * + * @returns Return true means current user has permission, and otherwise means current user has no permission. + * 如果当前用户有权限返回True,否则返回False。 + * + */ + protected checkPermissionGroupsAuthority(allowPermissionGroups: string[]): boolean; + + /** + * get permission mode + * 获取权限认证模式 + * @returns PermissionMode + */ + protected getPermissionMode(): PermissionMode; + /** * 执行自定义命令对象列表。 * @param command @@ -865,6 +885,13 @@ declare namespace Forguncy.Plugin { * 有单元格权限的角色列表。 */ AllowRoles: string[]; + /** + * The permission group list which has celltype ui permission. + * 有单元格权限的权限组列表。 + * + * + */ + AllowPermissionGroups: string[]; /** * 单元格中所有子项的的单元格权限信息。 */ @@ -883,6 +910,13 @@ declare namespace Forguncy.Plugin { * 有单元格权限的角色列表。 */ AllowRoles: string[]; + /** + * The permission group list which has celltype ui permission. + * 有单元格权限的权限组列表。 + * + * + */ + AllowPermissionGroups: string[]; /** * 单元格子项的子项的单元格权限信息。 */ @@ -1154,7 +1188,6 @@ declare namespace Forguncy.Plugin { */ MediumDashed = 8, } - } declare namespace Forguncy { @@ -1164,4 +1197,19 @@ declare namespace Forguncy { */ getCellType(): Forguncy.Plugin.CellTypeBase; } + + /** + * 权限认证模式 + */ + const enum PermissionMode { + /** + * 按照角色来认证资源权限 + */ + Role, + + /** + * 按照权限组来认证资源权限 + */ + PermissionGroup + } } -- Gitee