From 42ae10e33e17b813d08c884dc01ecc971d9a233b Mon Sep 17 00:00:00 2001 From: oblomov-dev <102328295+oblomov-dev@users.noreply.github.com> Date: Sun, 17 Nov 2024 10:30:20 +0000 Subject: [PATCH 1/2] syntax formatting --- .gitignore | 3 +- cleaner-profile.cfj | 1143 ++++++ src/z2ui5_cl_demo_app_000.clas.abap | 3401 ++++++++--------- src/z2ui5_cl_demo_app_001.clas.abap | 52 +- src/z2ui5_cl_demo_app_002.clas.abap | 200 +- src/z2ui5_cl_demo_app_003.clas.abap | 58 +- src/z2ui5_cl_demo_app_004.clas.abap | 54 +- src/z2ui5_cl_demo_app_005.clas.abap | 45 +- src/z2ui5_cl_demo_app_006.clas.abap | 91 +- src/z2ui5_cl_demo_app_008.clas.abap | 102 +- src/z2ui5_cl_demo_app_009.clas.abap | 284 +- src/z2ui5_cl_demo_app_010.clas.abap | 45 +- src/z2ui5_cl_demo_app_011.clas.abap | 66 +- src/z2ui5_cl_demo_app_012.clas.abap | 107 +- src/z2ui5_cl_demo_app_013.clas.abap | 184 +- src/z2ui5_cl_demo_app_014.clas.abap | 179 +- src/z2ui5_cl_demo_app_015.clas.abap | 76 +- src/z2ui5_cl_demo_app_016.clas.abap | 126 +- src/z2ui5_cl_demo_app_017.clas.abap | 352 +- ...z2ui5_cl_demo_app_017.clas.locals_imp.abap | 384 +- src/z2ui5_cl_demo_app_018.clas.abap | 97 +- src/z2ui5_cl_demo_app_019.clas.abap | 180 +- src/z2ui5_cl_demo_app_020.clas.abap | 58 +- src/z2ui5_cl_demo_app_021.clas.abap | 47 +- src/z2ui5_cl_demo_app_022.clas.abap | 28 +- src/z2ui5_cl_demo_app_024.clas.abap | 30 +- src/z2ui5_cl_demo_app_025.clas.abap | 53 +- src/z2ui5_cl_demo_app_026.clas.abap | 99 +- src/z2ui5_cl_demo_app_027.clas.abap | 89 +- src/z2ui5_cl_demo_app_028.clas.abap | 54 +- src/z2ui5_cl_demo_app_029.clas.abap | 97 +- src/z2ui5_cl_demo_app_030.clas.abap | 194 +- src/z2ui5_cl_demo_app_031.clas.abap | 268 +- src/z2ui5_cl_demo_app_032.clas.abap | 67 +- src/z2ui5_cl_demo_app_033.clas.abap | 60 +- src/z2ui5_cl_demo_app_034.clas.abap | 60 +- src/z2ui5_cl_demo_app_035.clas.abap | 44 +- ...z2ui5_cl_demo_app_035.clas.locals_imp.abap | 207 +- src/z2ui5_cl_demo_app_036.clas.abap | 121 +- src/z2ui5_cl_demo_app_037.clas.abap | 126 +- src/z2ui5_cl_demo_app_038.clas.abap | 136 +- src/z2ui5_cl_demo_app_039.clas.abap | 257 +- src/z2ui5_cl_demo_app_040.clas.abap | 65 +- src/z2ui5_cl_demo_app_041.clas.abap | 38 +- src/z2ui5_cl_demo_app_042.clas.abap | 343 +- ...z2ui5_cl_demo_app_042.clas.locals_imp.abap | 384 +- src/z2ui5_cl_demo_app_043.clas.abap | 3 +- src/z2ui5_cl_demo_app_044.clas.abap | 8 +- src/z2ui5_cl_demo_app_045.clas.abap | 61 +- src/z2ui5_cl_demo_app_046.clas.abap | 65 +- src/z2ui5_cl_demo_app_047.clas.abap | 46 +- src/z2ui5_cl_demo_app_048.clas.abap | 135 +- src/z2ui5_cl_demo_app_049.clas.abap | 77 +- src/z2ui5_cl_demo_app_050.clas.abap | 123 +- src/z2ui5_cl_demo_app_051.clas.abap | 46 +- src/z2ui5_cl_demo_app_052.clas.abap | 161 +- src/z2ui5_cl_demo_app_053.clas.abap | 65 +- src/z2ui5_cl_demo_app_054.clas.abap | 22 +- src/z2ui5_cl_demo_app_055.clas.abap | 21 +- src/z2ui5_cl_demo_app_056.clas.abap | 93 +- src/z2ui5_cl_demo_app_057.clas.abap | 77 +- src/z2ui5_cl_demo_app_058.clas.abap | 201 +- src/z2ui5_cl_demo_app_059.clas.abap | 56 +- src/z2ui5_cl_demo_app_060.clas.abap | 511 ++- src/z2ui5_cl_demo_app_061.clas.abap | 49 +- src/z2ui5_cl_demo_app_062.clas.abap | 79 +- src/z2ui5_cl_demo_app_063.clas.abap | 35 +- src/z2ui5_cl_demo_app_064.clas.abap | 86 +- src/z2ui5_cl_demo_app_065.clas.abap | 43 +- src/z2ui5_cl_demo_app_067.clas.abap | 105 +- src/z2ui5_cl_demo_app_068.clas.abap | 109 +- src/z2ui5_cl_demo_app_069.clas.abap | 161 +- src/z2ui5_cl_demo_app_070.clas.abap | 284 +- src/z2ui5_cl_demo_app_071.clas.abap | 42 +- src/z2ui5_cl_demo_app_072.clas.abap | 217 +- src/z2ui5_cl_demo_app_073.clas.abap | 32 +- src/z2ui5_cl_demo_app_074.clas.abap | 45 +- src/z2ui5_cl_demo_app_075.clas.abap | 52 +- src/z2ui5_cl_demo_app_076.clas.abap | 109 +- src/z2ui5_cl_demo_app_078.clas.abap | 51 +- src/z2ui5_cl_demo_app_079.clas.abap | 64 +- src/z2ui5_cl_demo_app_080.clas.abap | 124 +- src/z2ui5_cl_demo_app_081.clas.abap | 124 +- src/z2ui5_cl_demo_app_082.clas.abap | 53 +- src/z2ui5_cl_demo_app_083.clas.abap | 215 +- src/z2ui5_cl_demo_app_084.clas.abap | 199 +- src/z2ui5_cl_demo_app_085.clas.abap | 668 ++-- src/z2ui5_cl_demo_app_086.clas.abap | 30 +- src/z2ui5_cl_demo_app_087.clas.abap | 74 +- src/z2ui5_cl_demo_app_088.clas.abap | 75 +- src/z2ui5_cl_demo_app_090.clas.abap | 274 +- src/z2ui5_cl_demo_app_091.clas.abap | 137 +- src/z2ui5_cl_demo_app_093.clas.abap | 34 +- src/z2ui5_cl_demo_app_094.clas.abap | 50 +- src/z2ui5_cl_demo_app_095.clas.abap | 65 +- src/z2ui5_cl_demo_app_096.clas.abap | 19 +- src/z2ui5_cl_demo_app_097.clas.abap | 132 +- src/z2ui5_cl_demo_app_098.clas.abap | 166 +- src/z2ui5_cl_demo_app_099.clas.abap | 196 +- src/z2ui5_cl_demo_app_100.clas.abap | 203 +- src/z2ui5_cl_demo_app_101.clas.abap | 84 +- src/z2ui5_cl_demo_app_103.clas.abap | 24 +- src/z2ui5_cl_demo_app_104.clas.abap | 109 +- src/z2ui5_cl_demo_app_105.clas.abap | 32 +- src/z2ui5_cl_demo_app_106.clas.abap | 48 +- src/z2ui5_cl_demo_app_107.clas.abap | 110 +- src/z2ui5_cl_demo_app_108.clas.abap | 74 +- src/z2ui5_cl_demo_app_109.clas.abap | 98 +- src/z2ui5_cl_demo_app_110.clas.abap | 76 +- src/z2ui5_cl_demo_app_111.clas.abap | 312 +- src/z2ui5_cl_demo_app_112.clas.abap | 32 +- src/z2ui5_cl_demo_app_113.clas.abap | 94 +- src/z2ui5_cl_demo_app_114.clas.abap | 107 +- src/z2ui5_cl_demo_app_115.clas.abap | 21 +- src/z2ui5_cl_demo_app_116.clas.abap | 196 +- src/z2ui5_cl_demo_app_117.clas.abap | 12 +- src/z2ui5_cl_demo_app_118.clas.abap | 76 +- src/z2ui5_cl_demo_app_120.clas.abap | 144 +- src/z2ui5_cl_demo_app_121.clas.abap | 48 +- src/z2ui5_cl_demo_app_122.clas.abap | 76 +- src/z2ui5_cl_demo_app_123.clas.abap | 127 +- src/z2ui5_cl_demo_app_124.clas.abap | 50 +- src/z2ui5_cl_demo_app_125.clas.abap | 27 +- src/z2ui5_cl_demo_app_126.clas.abap | 19 +- src/z2ui5_cl_demo_app_129.clas.abap | 113 +- src/z2ui5_cl_demo_app_130.clas.abap | 536 ++- src/z2ui5_cl_demo_app_131.clas.abap | 22 +- src/z2ui5_cl_demo_app_132.clas.abap | 9 +- src/z2ui5_cl_demo_app_133.clas.abap | 51 +- src/z2ui5_cl_demo_app_134.clas.abap | 66 +- src/z2ui5_cl_demo_app_135.clas.abap | 84 +- ...z2ui5_cl_demo_app_135.clas.locals_imp.abap | 88 +- src/z2ui5_cl_demo_app_136.clas.abap | 43 +- src/z2ui5_cl_demo_app_137.clas.abap | 49 +- ...z2ui5_cl_demo_app_137.clas.locals_imp.abap | 8 +- src/z2ui5_cl_demo_app_138.clas.abap | 41 +- src/z2ui5_cl_demo_app_139.clas.abap | 19 +- src/z2ui5_cl_demo_app_140.clas.abap | 86 +- src/z2ui5_cl_demo_app_141.clas.abap | 128 +- src/z2ui5_cl_demo_app_143.clas.abap | 95 +- src/z2ui5_cl_demo_app_144.clas.abap | 58 +- src/z2ui5_cl_demo_app_149.clas.abap | 34 +- src/z2ui5_cl_demo_app_150.clas.abap | 24 +- src/z2ui5_cl_demo_app_151.clas.abap | 21 +- src/z2ui5_cl_demo_app_152.clas.abap | 76 +- src/z2ui5_cl_demo_app_153.clas.abap | 41 +- src/z2ui5_cl_demo_app_154.clas.abap | 30 +- src/z2ui5_cl_demo_app_155.clas.abap | 22 +- src/z2ui5_cl_demo_app_156.clas.abap | 26 +- src/z2ui5_cl_demo_app_157.clas.abap | 26 +- src/z2ui5_cl_demo_app_158.clas.abap | 64 +- src/z2ui5_cl_demo_app_159.clas.abap | 67 +- src/z2ui5_cl_demo_app_160.clas.abap | 253 +- src/z2ui5_cl_demo_app_161.clas.abap | 64 +- src/z2ui5_cl_demo_app_162.clas.abap | 57 +- src/z2ui5_cl_demo_app_163.clas.abap | 79 +- src/z2ui5_cl_demo_app_164.clas.abap | 46 +- src/z2ui5_cl_demo_app_166.clas.abap | 43 +- src/z2ui5_cl_demo_app_167.clas.abap | 57 +- src/z2ui5_cl_demo_app_168.clas.abap | 20 +- src/z2ui5_cl_demo_app_169.clas.abap | 28 +- src/z2ui5_cl_demo_app_170.clas.abap | 113 +- src/z2ui5_cl_demo_app_171.clas.abap | 21 +- src/z2ui5_cl_demo_app_172.clas.abap | 202 +- src/z2ui5_cl_demo_app_173.clas.abap | 59 +- src/z2ui5_cl_demo_app_174.clas.abap | 73 +- src/z2ui5_cl_demo_app_175.clas.abap | 32 +- src/z2ui5_cl_demo_app_176.clas.abap | 43 +- src/z2ui5_cl_demo_app_177.clas.abap | 145 +- src/z2ui5_cl_demo_app_178.clas.abap | 122 +- src/z2ui5_cl_demo_app_179.clas.abap | 366 +- src/z2ui5_cl_demo_app_180.clas.abap | 40 +- src/z2ui5_cl_demo_app_181.clas.abap | 145 +- src/z2ui5_cl_demo_app_182.clas.abap | 259 +- src/z2ui5_cl_demo_app_183.clas.abap | 148 +- src/z2ui5_cl_demo_app_184.clas.abap | 15 +- src/z2ui5_cl_demo_app_185.clas.abap | 61 +- src/z2ui5_cl_demo_app_186.clas.abap | 97 +- src/z2ui5_cl_demo_app_187.clas.abap | 31 +- src/z2ui5_cl_demo_app_189.clas.abap | 42 +- src/z2ui5_cl_demo_app_190.clas.abap | 13 +- src/z2ui5_cl_demo_app_191.clas.abap | 65 +- src/z2ui5_cl_demo_app_192.clas.abap | 3 +- ...z2ui5_cl_demo_app_192.clas.locals_imp.abap | 8 +- src/z2ui5_cl_demo_app_193.clas.abap | 19 +- ...z2ui5_cl_demo_app_193.clas.locals_imp.abap | 8 +- src/z2ui5_cl_demo_app_194.clas.abap | 11 +- src/z2ui5_cl_demo_app_195.clas.abap | 65 +- src/z2ui5_cl_demo_app_196.clas.abap | 229 +- src/z2ui5_cl_demo_app_197.clas.abap | 178 +- src/z2ui5_cl_demo_app_199.clas.abap | 7 +- src/z2ui5_cl_demo_app_201.clas.abap | 520 ++- src/z2ui5_cl_demo_app_202.clas.abap | 97 +- src/z2ui5_cl_demo_app_205.clas.abap | 170 +- src/z2ui5_cl_demo_app_206.clas.abap | 106 +- src/z2ui5_cl_demo_app_207.clas.abap | 79 +- src/z2ui5_cl_demo_app_208.clas.abap | 113 +- src/z2ui5_cl_demo_app_209.clas.abap | 183 +- src/z2ui5_cl_demo_app_210.clas.abap | 82 +- src/z2ui5_cl_demo_app_211.clas.abap | 7 +- src/z2ui5_cl_demo_app_212.clas.abap | 20 +- src/z2ui5_cl_demo_app_213.clas.abap | 48 +- src/z2ui5_cl_demo_app_214.clas.abap | 49 +- src/z2ui5_cl_demo_app_215.clas.abap | 46 +- src/z2ui5_cl_demo_app_216.clas.abap | 37 +- src/z2ui5_cl_demo_app_217.clas.abap | 49 +- src/z2ui5_cl_demo_app_218.clas.abap | 44 +- src/z2ui5_cl_demo_app_219.clas.abap | 63 +- src/z2ui5_cl_demo_app_220.clas.abap | 161 +- src/z2ui5_cl_demo_app_221.clas.abap | 53 +- src/z2ui5_cl_demo_app_222.clas.abap | 53 +- src/z2ui5_cl_demo_app_223.clas.abap | 55 +- src/z2ui5_cl_demo_app_224.clas.abap | 49 +- src/z2ui5_cl_demo_app_225.clas.abap | 114 +- src/z2ui5_cl_demo_app_226.clas.abap | 69 +- src/z2ui5_cl_demo_app_227.clas.abap | 71 +- src/z2ui5_cl_demo_app_228.clas.abap | 82 +- src/z2ui5_cl_demo_app_229.clas.abap | 63 +- src/z2ui5_cl_demo_app_230.clas.abap | 41 +- src/z2ui5_cl_demo_app_231.clas.abap | 146 +- src/z2ui5_cl_demo_app_232.clas.abap | 72 +- src/z2ui5_cl_demo_app_233.clas.abap | 70 +- src/z2ui5_cl_demo_app_234.clas.abap | 55 +- src/z2ui5_cl_demo_app_235.clas.abap | 155 +- src/z2ui5_cl_demo_app_236.clas.abap | 169 +- src/z2ui5_cl_demo_app_237.clas.abap | 148 +- src/z2ui5_cl_demo_app_238.clas.abap | 138 +- src/z2ui5_cl_demo_app_239.clas.abap | 145 +- src/z2ui5_cl_demo_app_240.clas.abap | 118 +- src/z2ui5_cl_demo_app_241.clas.abap | 102 +- src/z2ui5_cl_demo_app_242.clas.abap | 81 +- src/z2ui5_cl_demo_app_243.clas.abap | 79 +- src/z2ui5_cl_demo_app_244.clas.abap | 191 +- src/z2ui5_cl_demo_app_245.clas.abap | 110 +- src/z2ui5_cl_demo_app_246.clas.abap | 90 +- src/z2ui5_cl_demo_app_247.clas.abap | 65 +- src/z2ui5_cl_demo_app_248.clas.abap | 66 +- src/z2ui5_cl_demo_app_249.clas.abap | 75 +- src/z2ui5_cl_demo_app_250.clas.abap | 179 +- src/z2ui5_cl_demo_app_251.clas.abap | 114 +- src/z2ui5_cl_demo_app_252.clas.abap | 85 +- src/z2ui5_cl_demo_app_253.clas.abap | 115 +- src/z2ui5_cl_demo_app_254.clas.abap | 152 +- src/z2ui5_cl_demo_app_255.clas.abap | 194 +- src/z2ui5_cl_demo_app_256.clas.abap | 139 +- src/z2ui5_cl_demo_app_257.clas.abap | 202 +- src/z2ui5_cl_demo_app_258.clas.abap | 187 +- src/z2ui5_cl_demo_app_259.clas.abap | 181 +- src/z2ui5_cl_demo_app_260.clas.abap | 100 +- src/z2ui5_cl_demo_app_261.clas.abap | 92 +- src/z2ui5_cl_demo_app_262.clas.abap | 111 +- src/z2ui5_cl_demo_app_263.clas.abap | 77 +- src/z2ui5_cl_demo_app_264.clas.abap | 105 +- src/z2ui5_cl_demo_app_265.clas.abap | 80 +- src/z2ui5_cl_demo_app_266.clas.abap | 126 +- src/z2ui5_cl_demo_app_267.clas.abap | 88 +- src/z2ui5_cl_demo_app_268.clas.abap | 155 +- src/z2ui5_cl_demo_app_269.clas.abap | 4 +- src/z2ui5_cl_demo_app_270.clas.abap | 27 +- src/z2ui5_cl_demo_app_271.clas.abap | 76 +- src/z2ui5_cl_demo_app_272.clas.abap | 84 +- src/z2ui5_cl_demo_app_273.clas.abap | 219 +- src/z2ui5_cl_demo_app_274.clas.abap | 83 +- src/z2ui5_cl_demo_app_275.clas.abap | 56 +- src/z2ui5_cl_demo_app_276.clas.abap | 74 +- src/z2ui5_cl_demo_app_277.clas.abap | 319 +- src/z2ui5_cl_demo_app_278.clas.abap | 89 +- src/z2ui5_cl_demo_app_279.clas.abap | 72 +- src/z2ui5_cl_demo_app_280.clas.abap | 124 +- src/z2ui5_cl_demo_app_281.clas.abap | 187 +- src/z2ui5_cl_demo_app_282.clas.abap | 169 +- src/z2ui5_cl_demo_app_283.clas.abap | 137 +- src/z2ui5_cl_demo_app_284.clas.abap | 103 +- src/z2ui5_cl_demo_app_285.clas.abap | 119 +- src/z2ui5_cl_demo_app_286.clas.abap | 84 +- src/z2ui5_cl_demo_app_287.clas.abap | 134 +- src/z2ui5_cl_demo_app_288.clas.abap | 124 +- src/z2ui5_cl_demo_app_289.clas.abap | 87 +- src/z2ui5_cl_demo_app_290.clas.abap | 115 +- src/z2ui5_cl_demo_app_291.clas.abap | 113 +- src/z2ui5_cl_demo_app_292.clas.abap | 79 +- src/z2ui5_cl_demo_app_293.clas.abap | 106 +- src/z2ui5_cl_demo_app_294.clas.abap | 75 +- src/z2ui5_cl_demo_app_295.clas.abap | 68 +- src/z2ui5_cl_demo_app_296.clas.abap | 51 +- src/z2ui5_cl_demo_app_297.clas.abap | 83 +- src/z2ui5_cl_demo_app_298.clas.abap | 172 +- src/z2ui5_cl_demo_app_299.clas.abap | 86 +- src/z2ui5_cl_demo_app_300.clas.abap | 546 ++- src/z2ui5_cl_demo_app_301.clas.abap | 106 +- src/z2ui5_cl_demo_app_302.clas.abap | 77 +- src/z2ui5_cl_demo_app_303.clas.abap | 2 + 292 files changed, 18223 insertions(+), 16424 deletions(-) create mode 100644 cleaner-profile.cfj diff --git a/.gitignore b/.gitignore index 7d74cbe0..bcc7f25a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ downport node_modules -output \ No newline at end of file +output +.cleanup \ No newline at end of file diff --git a/cleaner-profile.cfj b/cleaner-profile.cfj new file mode 100644 index 00000000..6b499870 --- /dev/null +++ b/cleaner-profile.cfj @@ -0,0 +1,1143 @@ +{ + "requiredVersion": 1, + "programVersion": 26, + "ruleCount": 98, + "autoActivateNewFeatures": true, + "rules": [ + { + "ruleID": "EMPTY_LINES_WITHIN_METHODS", + "isActive": true, + "settingCount": 4, + "settings": { + "MaxEmptyLinesWithinMethods": "1", + "MaxEmptyLinesAtMethodStart": "1", + "EmptyLineAboveFirstExecutable": "1", + "MaxEmptyLinesAtMethodEnd": "1" + } + }, + { + "ruleID": "EMPTY_LINES_OUTSIDE_METHODS", + "isActive": true, + "settingCount": 3, + "settings": { + "EmptyLinesBetweenClasses": "2", + "EmptyLinesBetweenClassAndMethod": "1", + "EmptyLinesBetweenMethods": "1" + } + }, + { + "ruleID": "EMPTY_LINES_IN_CLASS_DEFINITION", + "isActive": true, + "settingCount": 6, + "settings": { + "RemoveIncludeWarnings": "1", + "RemoveEmptyLineAboveEndClass": "0", + "AddEmptyLineAboveSections": "1", + "RemoveEmptyLineBelowSections": "1", + "MaxEmptyLines": "1", + "AddLineBetweenDefTypes": "2" + } + }, + { + "ruleID": "CDS_TEST_CLASS_LINES", + "isActive": true, + "settingCount": 6, + "settings": { + "RemoveToDoComments": "1", + "EmptyLineAboveInsertTestData": "1", + "RemoveAbapDoc": "1", + "EmptyLineBelowSelect": "1", + "EmptyLineAboveSelect": "1", + "MovePrepareMethods": "0" + } + }, + { + "ruleID": "SPACES_IN_EMPTY_BRACKETS", + "isActive": true, + "settingCount": 5, + "settings": { + "SeparateFromCharLiterals": "1", + "SeparateFromComments": "1", + "SeparateFromOperators": "1", + "SeparateCondensedCases": "1", + "SeparateFromKeywords": "1" + } + }, + { + "ruleID": "CLOSING_BRACKETS_POSITION", + "isActive": false, + "settingCount": 0, + "settings": {} + }, + { + "ruleID": "SPACE_BEFORE_PERIOD", + "isActive": true, + "settingCount": 4, + "settings": { + "MoveAcrossCommentLines": "1", + "ExecuteOnClassDefinitionSections": "1", + "ExecuteOnComma": "1", + "ExecuteOnPeriod": "1" + } + }, + { + "ruleID": "SPACE_AROUND_COMMENT_SIGN", + "isActive": true, + "settingCount": 2, + "settings": { + "SpaceBeforeCommentSign": "1", + "SpaceAfterCommentSign": "1" + } + }, + { + "ruleID": "NEEDLESS_SPACES", + "isActive": true, + "settingCount": 4, + "settings": { + "ProcessLineEndComments": "0", + "SearchAcrossCommentLines": "1", + "SearchAcrossEmptyLines": "1", + "ProcessEmptyBrackets": "1" + } + }, + { + "ruleID": "DECLARATION_CHAIN", + "isActive": true, + "settingCount": 6, + "settings": { + "ExecuteOnClassDefinitionSections": "1", + "ExecuteOnSimpleCommands": "0", + "ExecuteOnLocalDeclarations": "1", + "ExecuteOnInterfaces": "1", + "KeepTablesWithStructures": "1", + "ExecuteOnComplexCommands": "1" + } + }, + { + "ruleID": "NEEDLESS_CLEAR", + "isActive": true, + "settingCount": 3, + "settings": { + "ActionAtEnd": "1", + "ActionAtStart": "0", + "KeepStrucBeforeAssign": "1" + } + }, + { + "ruleID": "LOCAL_DECLARATION_ORDER", + "isActive": false, + "settingCount": 10, + "settings": { + "MoveComments": "1", + "FieldSymbolsOrder": "1", + "TypesOrder": "0", + "DataOrder": "1", + "StaticsOrder": "1", + "EmptyLine": "1", + "DistinctBlocks": "1", + "RearrangeChains": "1", + "ConstantsOrder": "0", + "ConsiderComments": "0" + } + }, + { + "ruleID": "UNUSED_PARAMETERS", + "isActive": true, + "settingCount": 6, + "settings": { + "ChangingParamScope": "1", + "ImportingParamScope": "1", + "ReturningParamScope": "4", + "ExportingParamScope": "0", + "IgnoreEmptyMethods": "1", + "IgnoreExportingByValue": "1" + } + }, + { + "ruleID": "UNUSED_VARIABLES", + "isActive": true, + "settingCount": 7, + "settings": { + "MeasureForConstantsOnlyUsedInComment": "1", + "MeasureForVarsNeverUsed": "0", + "MeasureForAssignedVars": "0", + "MeasureForConstantsNeverUsed": "1", + "MeasureForVarsOnlyUsedInComment": "1", + "MeasureForAssignedVarsOnlyUsedInComment": "0", + "MeasureForVarsOnlyAssignedInMessageInto": "0" + } + }, + { + "ruleID": "CHAIN_OF_ONE", + "isActive": true, + "settingCount": 3, + "settings": { + "ExecuteOnClassDefinitionSections": "1", + "ExecuteOnLocalDeclarations": "1", + "ExecuteOnNonDeclarations": "1" + } + }, + { + "ruleID": "IMPLICIT_TYPE", + "isActive": true, + "settingCount": 4, + "settings": { + "ExecuteOnDataAndClassData": "1", + "ExecuteOnTypes": "1", + "ReplaceParenthesisWithLength": "1", + "ExecuteOnConstantsAndStatics": "1" + } + }, + { + "ruleID": "FINAL_VARIABLE", + "isActive": false, + "settingCount": 0, + "settings": {} + }, + { + "ruleID": "CLASS_DEFINITION", + "isActive": true, + "settingCount": 14, + "settings": { + "NewLineForPublic": "1", + "NewLineForBehavior": "1", + "NewLineForAbstractOrFinal": "0", + "NewLineForLocalFriends": "0", + "MaxLineLength": "120", + "NewLineForRiskAndDuration": "0", + "NewLineForFriends": "1", + "NewLineForTesting": "1", + "NewLineForCreate": "1", + "NewLineForFriendNames": "1", + "IndentStyle": "0", + "NewLineForSharedMemory": "1", + "OneLinerAction": "2", + "NewLineForInheriting": "1" + } + }, + { + "ruleID": "ESCAPE_CHAR_FOR_PARAMS", + "isActive": true, + "settingCount": 1, + "settings": { + "UseEscapeCharForParams": "3" + } + }, + { + "ruleID": "EMPTY_SECTIONS", + "isActive": false, + "settingCount": 1, + "settings": { + "EmptySectionsMeasure": "1" + } + }, + { + "ruleID": "ABAP_DOC_PARAMETERS", + "isActive": true, + "settingCount": 6, + "settings": { + "OnlyAddToExistingDetails": "0", + "DeleteParameters": "1", + "AddParameters": "2", + "Update order": "1", + "DeleteExceptions": "1", + "AddExceptions": "2" + } + }, + { + "ruleID": "ABAP_DOC_LANG", + "isActive": true, + "settingCount": 1, + "settings": { + "RemoveNonEnglishLang": "0" + } + }, + { + "ruleID": "COMMENT_TYPE", + "isActive": true, + "settingCount": 2, + "settings": { + "MeasureForLeadingAsterisks": "3", + "MeasureForTrailingAsterisks": "1" + } + }, + { + "ruleID": "END_OF_COMMENT", + "isActive": true, + "settingCount": 3, + "settings": { + "LineLimitInsideMethod": "50", + "EndOfCommentActionInsideMethod": "1", + "EndOfCommentActionOutsideMethod": "1" + } + }, + { + "ruleID": "PSEUDO_COMMENT", + "isActive": true, + "settingCount": 0, + "settings": {} + }, + { + "ruleID": "PRAGMA_POSITION", + "isActive": true, + "settingCount": 1, + "settings": { + "MovePragmaFromLineStartToEnd": "0" + } + }, + { + "ruleID": "TYPO", + "isActive": true, + "settingCount": 7, + "settings": { + "ProcessAbapDoc": "1", + "ProcessComments": "1", + "AddTodoBeforeMessage": "1", + "CorrectTypos": "1", + "ConvertBritishToAmerican": "1", + "ProcessShorttexts": "1", + "MeasureForLiterals": "1" + } + }, + { + "ruleID": "EQUALS_SIGN_CHAIN", + "isActive": true, + "settingCount": 0, + "settings": {} + }, + { + "ruleID": "CALCULATION_ASSIGNMENT", + "isActive": true, + "settingCount": 3, + "settings": { + "ConvertMinusToMultiplication": "0", + "AllowVariableAtEnd": "1", + "AllowMinusBeforeMultOrDiv": "1" + } + }, + { + "ruleID": "COMPARISON_OPERATOR", + "isActive": true, + "settingCount": 3, + "settings": { + "ReplaceObsoleteOperators": "1", + "PreferredOperatorSet": "0", + "ReplaceRegularOperators": "1" + } + }, + { + "ruleID": "NOT_IS", + "isActive": true, + "settingCount": 0, + "settings": {} + }, + { + "ruleID": "LOGICAL_OPERATOR_POSITION", + "isActive": true, + "settingCount": 2, + "settings": { + "MoveBooleanOperators": "1", + "MoveKeyword": "1" + } + }, + { + "ruleID": "STRING_TEMPLATE", + "isActive": true, + "settingCount": 5, + "settings": { + "AlwaysConvertLiterals": "1", + "IgnoreMultiLineOperands": "1", + "RequireOperandsOnSameLine": "0", + "KeepControlCharsSeparate": "1", + "StringTemplateCondition": "1" + } + }, + { + "ruleID": "NEEDLESS_PARENTHESES", + "isActive": true, + "settingCount": 4, + "settings": { + "RemoveOrParenthesisAnd": "0", + "RemoveAroundSameOp": "0", + "RemoveAroundRelExpr": "0", + "RemoveAroundAll": "1" + } + }, + { + "ruleID": "EMPTY_COMMAND", + "isActive": true, + "settingCount": 0, + "settings": {} + }, + { + "ruleID": "VALUE_STATEMENT", + "isActive": true, + "settingCount": 7, + "settings": { + "MoveIntegerLiterals": "1", + "MoveFloatLiterals": "1", + "MoveIdentifiers": "1", + "SkipIfRowsCommentedOut": "1", + "MoveComplexExpressions": "1", + "MoveMethodCalls": "0", + "MoveStringLiterals": "1" + } + }, + { + "ruleID": "SELF_REFERENCE_ME", + "isActive": true, + "settingCount": 0, + "settings": {} + }, + { + "ruleID": "RECEIVING_KEYWORD", + "isActive": true, + "settingCount": 0, + "settings": {} + }, + { + "ruleID": "EXPORTING_KEYWORD", + "isActive": true, + "settingCount": 0, + "settings": {} + }, + { + "ruleID": "CHECK_OUTSIDE_LOOP", + "isActive": true, + "settingCount": 5, + "settings": { + "NegationStyle": "1", + "AllowCheckAfterCheckpoints": "1", + "KeepCondition": "2", + "ConvertAbapFalseAndAbapTrue": "1", + "ProcessChains": "1" + } + }, + { + "ruleID": "CHECK_IN_LOOP", + "isActive": true, + "settingCount": 4, + "settings": { + "NegationStyle": "1", + "KeepCondition": "0", + "ConvertAbapFalseAndAbapTrue": "1", + "ProcessChains": "1" + } + }, + { + "ruleID": "IF_BLOCK_AT_LOOP_END", + "isActive": true, + "settingCount": 6, + "settings": { + "NegationStyle": "1", + "EnsureEmptyLineAfterEndIf": "1", + "MinLinePercentage": "50", + "ConvertAbapFalseAndAbapTrue": "1", + "MinLineCount": "10", + "KeepExceptionalLogicInIf": "1" + } + }, + { + "ruleID": "IF_BLOCK_AT_METHOD_END", + "isActive": true, + "settingCount": 6, + "settings": { + "NegationStyle": "1", + "EnsureEmptyLineAfterEndIf": "1", + "MinLinePercentage": "50", + "ConvertAbapFalseAndAbapTrue": "1", + "MinLineCount": "10", + "KeepExceptionalLogicInIf": "1" + } + }, + { + "ruleID": "CALL_METHOD", + "isActive": true, + "settingCount": 1, + "settings": { + "ProcessChains": "1" + } + }, + { + "ruleID": "CREATE_OBJECT", + "isActive": true, + "settingCount": 1, + "settings": { + "ProcessChains": "1" + } + }, + { + "ruleID": "RAISE_TYPE", + "isActive": true, + "settingCount": 0, + "settings": {} + }, + { + "ruleID": "ADD_TO_ETC", + "isActive": true, + "settingCount": 2, + "settings": { + "ProcessChains": "1", + "AddToReplacementStyle": "1" + } + }, + { + "ruleID": "MOVE_TO", + "isActive": true, + "settingCount": 1, + "settings": { + "ProcessChains": "1" + } + }, + { + "ruleID": "TRANSLATE", + "isActive": true, + "settingCount": 5, + "settings": { + "ReplaceTranslateToUpperLower": "1", + "SkipUnknownTypes": "1", + "ReplaceUnevenMasks": "1", + "ProcessChains": "1", + "ReplaceTranslateUsing": "1" + } + }, + { + "ruleID": "CONDENSE", + "isActive": true, + "settingCount": 4, + "settings": { + "SpecifyFromForNoGaps": "1", + "SpecifyValName": "0", + "KeepParamsOnOneLine": "0", + "SpecifyDel": "0" + } + }, + { + "ruleID": "DESCRIBE_TABLE", + "isActive": true, + "settingCount": 0, + "settings": {} + }, + { + "ruleID": "READ_TABLE", + "isActive": true, + "settingCount": 4, + "settings": { + "ReplaceWithLineExists": "1", + "ReplaceWithLineIndex": "1", + "ReplaceWithAssign": "1", + "UseComponentsKeyword": "0" + } + }, + { + "ruleID": "ASSERT_EQUALS_BOOLEAN", + "isActive": true, + "settingCount": 1, + "settings": { + "RemoveActIfOnlyParameter": "1" + } + }, + { + "ruleID": "ASSERT_EQUALS_SUBRC", + "isActive": true, + "settingCount": 1, + "settings": { + "RemoveExpEqualsZero": "1" + } + }, + { + "ruleID": "ASSERT_CLASS", + "isActive": false, + "settingCount": 2, + "settings": { + "ProcessChains": "1", + "AssertClassName": "cx_assert" + } + }, + { + "ruleID": "ASSERT_PARAMETER_ORDER", + "isActive": true, + "settingCount": 4, + "settings": { + "NumTextTableParamOrder": "0", + "ReturnCodeParamOrder": "0", + "ComparisonParamOrder": "0", + "AssertClassName": "" + } + }, + { + "ruleID": "UPPER_AND_LOWER_CASE", + "isActive": true, + "settingCount": 8, + "settings": { + "DeriveCaseMethod": "0", + "ImplementationKeywordStyle": "2", + "ImplementationIdentifierStyle": "1", + "KeepMixedCaseInIdentifiers": "1", + "DefinitionKeywordStyle": "2", + "DefinitionIdentifierStyle": "1", + "PragmaStyle": "2", + "PragmaParameterStyle": "2" + } + }, + { + "ruleID": "CAMEL_CASE_NAME", + "isActive": true, + "settingCount": 10, + "settings": { + "MinLengthOfSureMatch": "11", + "ContextWithUnknownAction": "3", + "CustomViewNamesFile": "CustomViewNames.txt", + "ContextAllKnownAction": "0", + "ProcessComments": "1", + "RequireApprovalForSureMatch": "0", + "ProcessFieldNames": "1", + "CustomFieldNamesFile": "CustomFieldNames.txt", + "DeviationAction": "1", + "ProcessViewNames": "1" + } + }, + { + "ruleID": "CAMEL_CASE_IN_CDS_TEST", + "isActive": true, + "settingCount": 5, + "settings": { + "ProcessComments": "1", + "AddPseudoCommentNoWhere": "1", + "ProcessClassName": "1", + "ProcessVariableNames": "1", + "ProcessLiterals": "1" + } + }, + { + "ruleID": "INSET", + "isActive": true, + "settingCount": 4, + "settings": { + "AlignWithFollowingCatch": "1", + "ExecuteOnClassDefinitionSections": "1", + "AlignWithFollowingElse": "1", + "AlignWithFollowingWhen": "1" + } + }, + { + "ruleID": "ALIGN_ABAP_DOC", + "isActive": true, + "settingCount": 2, + "settings": { + "AlignAcrossNonEmptyLines": "1", + "AlignAcrossEmptyLines": "1" + } + }, + { + "ruleID": "ALIGN_METHODS_DECLARATION", + "isActive": true, + "settingCount": 9, + "settings": { + "FillPercentageToJustifyOwnColumn": "40", + "HandleOneLiners": "2", + "ContinueAfterKeyword": "0", + "SeparateWithEmptyLine": "1", + "AlignAcrossEmptyLines": "1", + "AlignConsecutive": "2", + "ContinueAfterAccess": "2", + "AlignAcrossCommentLines": "0", + "ContinueAfterMethodName": "2" + } + }, + { + "ruleID": "ALIGN_METHODS_FOR_TESTING", + "isActive": true, + "settingCount": 4, + "settings": { + "ContinueAfterKeyword": "0", + "AlignAcrossEmptyLines": "1", + "AlignAcrossCommentLines": "1", + "ContinueAfterMethodName": "0" + } + }, + { + "ruleID": "ALIGN_METHODS_REDEFINITION", + "isActive": true, + "settingCount": 4, + "settings": { + "ContinueAfterKeyword": "0", + "AlignAcrossEmptyLines": "1", + "AlignAcrossCommentLines": "1", + "ContinueAfterMethodName": "0" + } + }, + { + "ruleID": "ALIGN_ALIASES_FOR", + "isActive": true, + "settingCount": 2, + "settings": { + "AlignAcrossEmptyLines": "1", + "AlignAcrossCommentLines": "1" + } + }, + { + "ruleID": "ALIGN_DECLARATIONS", + "isActive": true, + "settingCount": 11, + "settings": { + "CondenseInnerSpaces": "1", + "AlignNonChainsAction": "0", + "FillPercentageToJustifyOwnColumn": "20", + "ExecuteOnClassDefinitionSections": "1", + "StructureAlignStyle": "1", + "AlignEnumAction": "0", + "AlignChainAction": "0", + "AlignAcrossEmptyLines": "1", + "AlignStructureAction": "0", + "MaxLineLength": "130", + "AlignAcrossCommentLines": "1" + } + }, + { + "ruleID": "ALIGN_ASSIGNMENTS", + "isActive": true, + "settingCount": 2, + "settings": { + "AlignAcrossEmptyLines": "1", + "AlignAcrossCommentLines": "1" + } + }, + { + "ruleID": "ALIGN_WITH_SECOND_WORD", + "isActive": true, + "settingCount": 0, + "settings": {} + }, + { + "ruleID": "ALIGN_CLEAR_FREE_AND_SORT", + "isActive": true, + "settingCount": 4, + "settings": { + "DistinctLineSort": "0", + "DistinctLineClear": "0", + "DistinctLineFree": "0", + "MaxLineLength": "120" + } + }, + { + "ruleID": "ALIGN_SELECT_CLAUSES", + "isActive": true, + "settingCount": 10, + "settings": { + "MaxSelectListLengthBeforeFrom": "30", + "NextSelectPos": "2", + "SelectUnionIntoIndent": "0", + "NewLineForFromWithJoins": "1", + "SelectUnionIndent": "0", + "SelectClauseIndent": "0", + "MaxLineLength": "120", + "SubQueryOneLinerAction": "1", + "MaxSelectListLengthBeforeInto": "30", + "MainQueryOneLinerAction": "1" + } + }, + { + "ruleID": "ALIGN_SELECT_FROM", + "isActive": true, + "settingCount": 7, + "settings": { + "AlignAsAcrossJoins": "0", + "FirstTableNamePosition": "0", + "SelectJoinIndent": "1", + "AlignOnAcrossJoins": "0", + "SelectOnPosition": "0", + "FurtherTableNamePositions": "2", + "SelectClientPosition": "2" + } + }, + { + "ruleID": "ALIGN_SELECT_LISTS", + "isActive": true, + "settingCount": 11, + "settings": { + "SimpleSelectListLayout": "2", + "SelectIntoLayout": "2", + "SimpleGroupByListLayout": "2", + "SimpleOrderByListLayout": "2", + "AlignAsInSelectList": "1", + "ComplexSelectListLayout": "0", + "ComplexGroupByListLayout": "0", + "ComplexOrderByListLayout": "0", + "ConsiderTildeAsComplex": "1", + "MaxLineLength": "120", + "AlignAdditionsInOrderByList": "0" + } + }, + { + "ruleID": "ALIGN_PARAMETERS", + "isActive": true, + "settingCount": 11, + "settings": { + "AlignAcrossTableRows": "1", + "PutFunctionalCallKeywordsOnOwnLine": "0", + "KeepParametersOnSingleLine": "1", + "MaxParamCountBehindProceduralCall": "0", + "KeepOtherOneLiners": "0", + "PutProceduralCallKeywordsOnOwnLine": "0", + "MaxLineLength": "120", + "MaxParamCountBehindFunctionalCall": "100", + "AlignAssignments": "1", + "AllowContentLeftOfAssignOp": "1", + "MaxLineLengthForSingleLine": "160" + } + }, + { + "ruleID": "ALIGN_LOGICAL_EXPRESSIONS", + "isActive": true, + "settingCount": 13, + "settings": { + "AlignSqlWhenWithBoolOps": "0", + "AlignIfWithBoolOps": "0", + "AlignSqlOnWithBoolOps": "1", + "AlignCheckWithBoolOps": "0", + "AlignElseIfWithBoolOps": "0", + "AlignSqlHavingWithBoolOps": "2", + "OnlyAlignSameObjects": "0", + "AlignUntilWithBoolOps": "0", + "AlignWhileWithBoolOps": "0", + "RightAlignComparisonOps": "1", + "MaxInnerSpaces": "20", + "AlignWhereWithBoolOps": "0", + "AlignSqlWhereWithBoolOps": "2" + } + }, + { + "ruleID": "ALIGN_COND_EXPRESSIONS", + "isActive": true, + "settingCount": 8, + "settings": { + "SimpleStyle": "0", + "TabularStyle": "0", + "GapAfterElse": "1", + "ContinueAfterElse": "0", + "MaxLineLength": "120", + "OneLinerStyle": "1", + "ThenOnWhenLine": "1", + "ValueInset": "1" + } + }, + { + "ruleID": "ALIGN_FORM_DECLARATION", + "isActive": true, + "settingCount": 5, + "settings": { + "ContinueAfterParamGroupKeyword": "1", + "RemoveEmptyLine": "1", + "ParamCountBehindFormName": "3", + "AlignTypes": "1", + "AddEmptyLine": "1" + } + }, + { + "ruleID": "ALIGN_PERFORM", + "isActive": true, + "settingCount": 6, + "settings": { + "BreakAfterAdditions": "0", + "ParamCountToCondense": "16", + "ContinueAfterParamGroupKeyword": "1", + "ParamCountAfterPerform": "3", + "MaxLineLength": "120", + "AlignWithFormName": "0" + } + }, + { + "ruleID": "DDL_ANNO_LAYOUT", + "isActive": true, + "settingCount": 8, + "settings": { + "SpaceInsideBrackets": "1", + "MaxOneLinerElemCountMain": "4", + "AlignTablesInArrays": "1", + "AlignValues": "0", + "SpaceInsideBraces": "1", + "MaxOneLinerElemCountList": "4", + "SpaceAfterColon": "1", + "MaxLineLength": "120" + } + }, + { + "ruleID": "DDL_ANNO_NESTING", + "isActive": true, + "settingCount": 6, + "settings": { + "NestingAllowList": "", + "NestingBlockList": "", + "EmptyLinesMain": "1", + "SortOrder": "1", + "EmptyLinesList": "3", + "NestingMinDepth": "1" + } + }, + { + "ruleID": "DDL_POSITION_DEFINE", + "isActive": true, + "settingCount": 7, + "settings": { + "BreakBeforeDefine": "0", + "DefineIndent": "0", + "EntityNameIndent": "2", + "BreakBeforeEntityName": "2", + "ParamsIndent": "4", + "WithParamsIndent": "2", + "BreakBeforeWithParams": "0" + } + }, + { + "ruleID": "DDL_POSITION_SELECT", + "isActive": true, + "settingCount": 8, + "settings": { + "BreakBeforeSelectFrom": "0", + "AsSelectFromIndent": "2", + "BreakBeforeAsSelectFrom": "0", + "BreakBeforeDataSource": "2", + "DataSourceIndent": "4", + "SelectFromIndent": "2", + "AsProjectionOnIndent": "2", + "BreakBeforeAsProjectionOn": "0" + } + }, + { + "ruleID": "DDL_POSITION_JOIN", + "isActive": true, + "settingCount": 6, + "settings": { + "KeywordsIndent": "4", + "BreakBeforeCondition": "1", + "BreakBeforeKeywords": "0", + "BreakBeforeDataSource": "2", + "DataSourceIndent": "4", + "ConditionIndent": "6" + } + }, + { + "ruleID": "DDL_POSITION_ASSOCIATION", + "isActive": true, + "settingCount": 8, + "settings": { + "KeywordsIndent": "2", + "BreakBeforeCondition": "1", + "BreakBeforeKeywords": "0", + "BreakBeforeDataSource": "2", + "DataSourceIndent": "2", + "ConditionIndent": "4", + "BreakBeforeFilter": "0", + "FilterIndent": "4" + } + }, + { + "ruleID": "DDL_POSITION_BRACES", + "isActive": true, + "settingCount": 6, + "settings": { + "FromIndent": "2", + "BreakBeforeFrom": "0", + "BreakBeforeOpeningBrace": "0", + "ClosingBraceIndent": "0", + "OpeningBraceIndent": "0", + "BreakBeforeClosingBrace": "0" + } + }, + { + "ruleID": "DDL_POSITION_CLAUSES", + "isActive": true, + "settingCount": 4, + "settings": { + "BreakBeforeUnionEtc": "0", + "UnionEtcIndent": "0", + "WhereEtcIndent": "0", + "BreakBeforeWhereEtc": "0" + } + }, + { + "ruleID": "DDL_SPACES_AROUND_SIGNS", + "isActive": true, + "settingCount": 8, + "settings": { + "SpaceAroundArithmeticOps": "0", + "SpaceAfterCommaInAbapType": "2", + "SpaceBeforeCommentSign": "0", + "SpaceBeforeColon": "1", + "SpaceAfterCommentSign": "0", + "SpaceAfterColon": "0", + "SpaceAfterComma": "0", + "SpaceBeforeComma": "2" + } + }, + { + "ruleID": "DDL_SPACES_AROUND_BRACKETS", + "isActive": true, + "settingCount": 9, + "settings": { + "SpacesInsidePathBrackets": "2", + "SpacesInsideCardBrackets": "2", + "SpacesAroundCardBrackets": "0", + "SpacesInsideArithParens": "2", + "SpacesBeforeFuncParens": "2", + "SpacesInsideFuncParens": "2", + "SpacesBeforeTypeParens": "2", + "SpacesBeforePathBrackets": "2", + "SpacesInsideTypeParens": "2" + } + }, + { + "ruleID": "DDL_CAMEL_CASE_NAME", + "isActive": true, + "settingCount": 6, + "settings": { + "FixAliases": "1", + "OnlyApprovedNames": "1", + "RequireAllFieldsKnown": "1", + "FixFieldNames": "1", + "FixRefsInAnnotations": "1", + "FixEntityName": "1" + } + }, + { + "ruleID": "DDL_TYPO", + "isActive": true, + "settingCount": 5, + "settings": { + "ProcessAnnotations": "1", + "ProcessComments": "1", + "ProcessAnnotationRefs": "0", + "CorrectTypos": "1", + "ConvertBritishToAmerican": "1" + } + }, + { + "ruleID": "DDL_ALIGN_ENTITY_PARAMETERS", + "isActive": true, + "settingCount": 2, + "settings": { + "AlignColons": "1", + "AlignTypes": "1" + } + }, + { + "ruleID": "DDL_ALIGN_SOURCE_PARAMETERS", + "isActive": true, + "settingCount": 4, + "settings": { + "ParameterPos": "3", + "AlignActualParams": "1", + "AlignAssignmentOps": "1", + "AsAliasPos": "0" + } + }, + { + "ruleID": "DDL_ALIGN_FUNCTION_PARAMETERS", + "isActive": true, + "settingCount": 3, + "settings": { + "ParameterPos": "0", + "AlignActualParams": "1", + "AlignAssignmentOps": "1" + } + }, + { + "ruleID": "DDL_ALIGN_LOGICAL_EXPRESSIONS", + "isActive": true, + "settingCount": 13, + "settings": { + "AlignFilterWithBoolOps": "2", + "AlignAssociationOn": "1", + "AlignPathExpressions": "1", + "AlignWhenWithBoolOps": "2", + "AlignWhere": "1", + "AlignOnWithBoolOps": "1", + "AlignHavingWithBoolOps": "2", + "AlignJoinOn": "1", + "AlignWhen": "1", + "RightAlignComparisonOps": "1", + "AlignHaving": "1", + "MaxInnerSpaces": "20", + "AlignWhereWithBoolOps": "2" + } + }, + { + "ruleID": "DDL_ALIGN_FIELD_LISTS", + "isActive": true, + "settingCount": 7, + "settings": { + "SimpleGroupByListLayout": "0", + "NameListPos": "1", + "ComplexGroupByListLayout": "0", + "ConsiderDotAsComplex": "1", + "MaxLineLength": "120", + "NameListLayout": "0", + "GroupByListPos": "0" + } + }, + { + "ruleID": "DDL_ALIGN_DATA_SOURCES", + "isActive": true, + "settingCount": 5, + "settings": { + "AlignDataSources": "1", + "AlignAssociationsWithJoins": "0", + "AlignOnConditions": "1", + "ConsiderAllParamAssignLines": "0", + "AlignAliases": "1" + } + }, + { + "ruleID": "DDL_ALIGN_SELECT_LIST", + "isActive": true, + "settingCount": 8, + "settings": { + "ConsiderAllElementLines": "0", + "AlignCommentedOutCode": "1", + "ConsiderSimpleElementsWithoutAlias": "1", + "ConsiderComplexElementsWithoutAlias": "0", + "AlignTextualComments": "1", + "MaxAliasStart": "120", + "AlignAliases": "1", + "AlignKeyKeyword": "1" + } + }, + { + "ruleID": "DDL_EMPTY_LINES_BETWEEN", + "isActive": true, + "settingCount": 10, + "settings": { + "BetweenEntityAnnosAndDefine": "0", + "BetweenParametersAndAsSelect": "0", + "BeforeSelectListStart": "0", + "AfterSelectListStart": "3", + "BetweenSelectFromAndJoins": "1", + "BetweenJoinsAndAssociations": "0", + "BeforeSelectListEnd": "3", + "AfterSelectListEnd": "0", + "MaxConsecutiveEmptyLines": "2", + "RemoveAtDocumentEnd": "1" + } + }, + { + "ruleID": "DDL_EMPTY_LINES_WITHIN", + "isActive": true, + "settingCount": 12, + "settings": { + "SurroundAssociationLineCountMin": "2", + "CondenseParameters": "2", + "CondenseAssociations": "2", + "DetachExposedAssociations": "1", + "CondenseClauses": "3", + "SurroundParameterLineCountMin": "2", + "CondenseJoins": "2", + "DetachKeyFields": "1", + "CondenseElements": "2", + "SurroundJoinLineCountMin": "2", + "SurroundElementLineCountMin": "2", + "SurroundClauseLineCountMin": "2" + } + } + ] +} \ No newline at end of file diff --git a/src/z2ui5_cl_demo_app_000.clas.abap b/src/z2ui5_cl_demo_app_000.clas.abap index e78c678a..b7f8c541 100644 --- a/src/z2ui5_cl_demo_app_000.clas.abap +++ b/src/z2ui5_cl_demo_app_000.clas.abap @@ -1,428 +1,380 @@ - CLASS z2ui5_cl_demo_app_000 DEFINITION PUBLIC. +CLASS z2ui5_cl_demo_app_000 DEFINITION PUBLIC. - PUBLIC SECTION. + PUBLIC SECTION. + INTERFACES z2ui5_if_app. - INTERFACES z2ui5_if_app. + DATA: + BEGIN OF ms_check_expanded, + basics TYPE abap_bool, + more TYPE abap_bool, + features TYPE abap_bool, + extensions TYPE abap_bool, + demos TYPE abap_bool, + custom_controls TYPE abap_bool, + input TYPE abap_bool, + popups TYPE abap_bool, + version TYPE abap_bool, + built_in TYPE abap_bool, + END OF ms_check_expanded. - DATA: - BEGIN OF ms_check_expanded, - basics TYPE abap_bool, - more TYPE abap_bool, - features TYPE abap_bool, - extensions TYPE abap_bool, - demos TYPE abap_bool, - custom_controls TYPE abap_bool, - input TYPE abap_bool, - popups TYPE abap_bool, - version TYPE abap_bool, - built_in TYPE abap_bool, - END OF ms_check_expanded. + DATA mt_scroll TYPE z2ui5_if_types=>ty_t_name_value. + DATA mv_set_scroll TYPE abap_bool. - DATA mt_scroll TYPE z2ui5_if_types=>ty_t_name_value. - DATA mv_set_scroll TYPE abap_bool. + PROTECTED SECTION. - PROTECTED SECTION. - PRIVATE SECTION. - METHODS expand_all. + PRIVATE SECTION. + METHODS expand_all. ENDCLASS. - CLASS z2ui5_cl_demo_app_000 IMPLEMENTATION. + METHOD z2ui5_if_app~main. + + CONSTANTS c_title TYPE string VALUE ` abap2UI5 - Samples`. + + " TODO: variable is assigned but never used (ABAP cleaner) + DATA(ls_get) = client->get( ). + + IF client->get( )-check_on_navigated = abap_true. + IF mt_scroll IS INITIAL. + mt_scroll = VALUE #( ( n = `page` ) ). + ENDIF. + mv_set_scroll = abap_true. + ENDIF. + + CASE client->get( )-event. + + WHEN 'BACK'. + client->nav_app_leave( ). + + WHEN 'expand-all'. + expand_all( ). + WHEN 'collapse-all'. + CLEAR ms_check_expanded. + WHEN OTHERS. + TRY. + DATA(lv_classname) = to_upper( client->get( )-event ). + DATA li_app TYPE REF TO z2ui5_if_app. + CREATE OBJECT li_app TYPE (lv_classname). + client->nav_app_call( li_app ). + RETURN. + CATCH cx_root. + ENDTRY. + ENDCASE. + + DATA(page) = z2ui5_cl_xml_view=>factory( + )->shell( )->page( id = `page` + title = c_title + navbuttonpress = client->_event( val = 'BACK' ) + shownavbutton = xsdbool( client->get( )-s_draft-id_prev_app_stack IS NOT INITIAL ) + )->header_content( + )->toolbar_spacer( + )->link( text = 'Install with abapGit from GitHub' + target = '_blank' + href = 'https://github.com/oblomov-dev/abap2ui5' + )->get_parent( ). + + IF client->get( )-check_launchpad_active = abap_true. + page->_z2ui5( )->lp_title( c_title ). + ENDIF. + + page->_z2ui5( )->scrolling( setupdate = client->_bind_edit( mv_set_scroll ) + items = client->_bind_edit( mt_scroll ) ). + + page = page->grid( 'L12 M12 S12' + )->content( 'layout' ). + + page->formatted_text( + |

Explore and copy code samples! All samples are abap2UI5 implementations of the SAP UI5 sample page. If you miss a control or find a b| && + |ug please create an | && + |issue or send a PR| && + |.

| && + |

Always press CTRL+F12 to see code samples and classname of the app.

| +). - METHOD z2ui5_if_app~main. - - CONSTANTS c_title TYPE string VALUE ` abap2UI5 - Samples`. - - DATA(ls_get) = client->get( ). - - IF client->get( )-check_on_navigated = abap_true. - IF mt_scroll IS INITIAL. - mt_scroll = VALUE #( ( n = `page` ) ). - ENDIF. - mv_set_scroll = abap_true. - ENDIF. - - CASE client->get( )-event. - - WHEN 'BACK'. - client->nav_app_leave( ). - - WHEN 'expand-all'. - expand_all( ). - WHEN 'collapse-all'. - CLEAR: ms_check_expanded. - WHEN OTHERS. - TRY. - DATA(lv_classname) = to_upper( client->get( )-event ). - DATA li_app TYPE REF TO z2ui5_if_app. - CREATE OBJECT li_app TYPE (lv_classname). - client->nav_app_call( li_app ). - RETURN. - CATCH cx_root. - ENDTRY. - ENDCASE. - - DATA(page) = z2ui5_cl_xml_view=>factory( - )->shell( )->page( - id = `page` - title = c_title - navbuttonpress = client->_event( val = 'BACK' ) - shownavbutton = xsdbool( client->get( )-s_draft-id_prev_app_stack IS NOT INITIAL ) - )->header_content( - )->toolbar_spacer( - )->link( text = 'Install with abapGit from GitHub' target = '_blank' href = 'https://github.com/oblomov-dev/abap2ui5' - )->get_parent( ). - - IF client->get( )-check_launchpad_active = abap_true. - page->_z2ui5( )->lp_title( c_title ). - ENDIF. - - page->_z2ui5( )->scrolling( - setupdate = client->_bind_edit( mv_set_scroll ) - items = client->_bind_edit( mt_scroll ) ). - - page = page->grid( 'L12 M12 S12' - )->content( 'layout' ). - - page->formatted_text( - `

Explore and copy code samples! All samples are abap2UI5 implementations of the SAP UI5 sample page. If you miss a control or find a b` && - `ug please create an ` && - `issue or send a PR` && - `.

` && - `

Always press CTRL+F12 to see code samples and classname of the app.

` - ). + page->hbox( + )->button( press = client->_event( 'expand-all' ) + icon = 'sap-icon://expand-all' + )->button( press = client->_event( 'collapse-all' ) + icon = 'sap-icon://collapse-all' ). - page->hbox( - )->button( press = client->_event( 'expand-all' ) icon = 'sap-icon://expand-all' - )->button( press = client->_event( 'collapse-all' ) icon = 'sap-icon://collapse-all' ). + DATA(page2) = page. - DATA(page2) = page. + page = page->panel( expandable = abap_true + expanded = client->_bind_edit( ms_check_expanded-basics ) + headertext = `General` ). - page = page->panel( - expandable = abap_true - expanded = client->_bind_edit( ms_check_expanded-basics ) - headertext = `General` ). + DATA(panel) = page->panel( expandable = abap_false + expanded = abap_true + headertext = `Binding` + ). - DATA(panel) = page->panel( - expandable = abap_false - expanded = abap_true - headertext = `Binding` - ). + panel->generic_tile( header = 'Binding I' + subheader = 'Simple - Send values to the backend' + press = client->_event( 'Z2UI5_CL_DEMO_APP_001' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). - panel->generic_tile( - header = 'Binding I' - subheader = 'Simple - Send values to the backend' - press = client->_event( 'Z2UI5_CL_DEMO_APP_001' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Binding II' + subheader = 'Structure Component Level' + press = client->_event( 'z2ui5_cl_demo_app_166' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' +). - panel->generic_tile( - header = 'Binding II' - subheader = 'Structure Component Level' - press = client->_event( 'z2ui5_cl_demo_app_166' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). - - panel->generic_tile( - header = 'Binding III' - subheader = 'Table Cell Level' - press = client->_event( 'z2ui5_cl_demo_app_144' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' ). - - panel->generic_tile( - header = 'setSizeLimit' -* subheader = 'Table Cell Level' - press = client->_event( 'z2ui5_cl_demo_app_071' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' ). - - panel = page->panel( - expandable = abap_false - expanded = abap_true - headertext = `Events` - ). + panel->generic_tile( header = 'Binding III' + subheader = 'Table Cell Level' + press = client->_event( 'z2ui5_cl_demo_app_144' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' ). + + panel->generic_tile( header = 'setSizeLimit' +* subheader = 'Table Cell Level' + press = client->_event( 'z2ui5_cl_demo_app_071' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' ). + + panel = page->panel( expandable = abap_false + expanded = abap_true + headertext = `Events` + ). + + panel->generic_tile( header = 'Event I' + subheader = 'Handle events & change the view' + press = client->_event( 'Z2UI5_CL_DEMO_APP_004' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' ). + + panel->generic_tile( header = 'Event II' + subheader = 'Call other apps & exchange data' + press = client->_event( 'Z2UI5_CL_DEMO_APP_024' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' ). + + panel->generic_tile( header = 'Event III' + subheader = 'Additional Infos with t_args' + press = client->_event( 'Z2UI5_CL_DEMO_APP_167' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' ). + + panel->generic_tile( header = 'Event IV' + subheader = `Facet Filter - T_arg with Objects` + press = client->_event( 'Z2UI5_CL_DEMO_APP_197' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' +). + panel->generic_tile( header = 'Follow Up Action' + subheader = `` + press = client->_event( 'Z2UI5_CL_DEMO_APP_180' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' +). - panel->generic_tile( - header = 'Event I' - subheader = 'Handle events & change the view' - press = client->_event( 'Z2UI5_CL_DEMO_APP_004' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' ). - - panel->generic_tile( - header = 'Event II' - subheader = 'Call other apps & exchange data' - press = client->_event( 'Z2UI5_CL_DEMO_APP_024' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' ). - - panel->generic_tile( - header = 'Event III' - subheader = 'Additional Infos with t_args' - press = client->_event( 'Z2UI5_CL_DEMO_APP_167' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' ). - - panel->generic_tile( - header = 'Event IV' - subheader = `Facet Filter - T_arg with Objects` - press = client->_event( 'Z2UI5_CL_DEMO_APP_197' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' -). - - panel->generic_tile( - header = 'Follow Up Action' - subheader = `` - press = client->_event( 'Z2UI5_CL_DEMO_APP_180' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + panel = page->panel( expandable = abap_false + expanded = abap_true + headertext = `Features` ). + panel->generic_tile( header = 'Timer I' + subheader = 'Wait n MS and call again the server' + press = client->_event( 'Z2UI5_CL_DEMO_APP_028' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). + panel->generic_tile( header = 'Timer II' + subheader = 'Set Loading Indicator while Server Request' + press = client->_event( 'Z2UI5_CL_DEMO_APP_064' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). - panel = page->panel( - expandable = abap_false - expanded = abap_true - headertext = `Features` - ). + panel->generic_tile( header = 'New Tab' + subheader = 'Open an URL in a new tab' + press = client->_event( 'Z2UI5_CL_DEMO_APP_073' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). - panel->generic_tile( - header = 'Timer I' - subheader = 'Wait n MS and call again the server' - press = client->_event( 'Z2UI5_CL_DEMO_APP_028' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Focus I' + press = client->_event( 'z2ui5_cl_demo_app_133' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). - panel->generic_tile( - header = 'Timer II' - subheader = 'Set Loading Indicator while Server Request' - press = client->_event( 'Z2UI5_CL_DEMO_APP_064' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). - - panel->generic_tile( - header = 'New Tab' - subheader = 'Open an URL in a new tab' - press = client->_event( 'Z2UI5_CL_DEMO_APP_073' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Focus II' + press = client->_event( 'z2ui5_cl_demo_app_189' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). - panel->generic_tile( - header = 'Focus I' - press = client->_event( 'z2ui5_cl_demo_app_133' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Scrolling' + press = client->_event( 'Z2UI5_CL_DEMO_APP_134' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). - panel->generic_tile( - header = 'Focus II' - press = client->_event( 'z2ui5_cl_demo_app_189' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). - - panel->generic_tile( - header = 'Scrolling' - press = client->_event( 'Z2UI5_CL_DEMO_APP_134' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'History' + press = client->_event( 'Z2UI5_CL_DEMO_APP_139' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). - panel->generic_tile( - header = 'History' - press = client->_event( 'Z2UI5_CL_DEMO_APP_139' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = `Data Loss Protection` + press = client->_event( 'z2ui5_cl_demo_app_279' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). - panel->generic_tile( - header = `Data Loss Protection` - press = client->_event( 'z2ui5_cl_demo_app_279' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Tab Title' + press = client->_event( 'z2ui5_cl_demo_app_125' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' +). - panel->generic_tile( - header = 'Tab Title' - press = client->_event( 'z2ui5_cl_demo_app_125' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Session Stickyness I' + subheader = 'Stateful mode' + press = client->_event( 'z2ui5_cl_demo_app_137' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' +). + panel->generic_tile( header = 'Session Stickyness II' + subheader = 'Use Locks' + press = client->_event( 'z2ui5_cl_demo_app_135' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' +). - panel->generic_tile( - header = 'Session Stickyness I' - subheader = 'Stateful mode' - press = client->_event( 'z2ui5_cl_demo_app_137' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + panel = page->panel( expandable = abap_false + expanded = abap_true + headertext = `Messages` ). - panel->generic_tile( - header = 'Session Stickyness II' - subheader = 'Use Locks' - press = client->_event( 'z2ui5_cl_demo_app_135' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' -). + panel->generic_tile( header = 'Basic' + subheader = 'Toast, Box & Strip' + press = client->_event( 'Z2UI5_CL_DEMO_APP_008' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). - panel = page->panel( - expandable = abap_false - expanded = abap_true - headertext = `Messages` - ). + panel->generic_tile( header = 'Message Box' + subheader = 'sy, bapiret, cx_root' + press = client->_event( 'z2ui5_cl_demo_app_187' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). - panel->generic_tile( - header = 'Basic' - subheader = 'Toast, Box & Strip' - press = client->_event( 'Z2UI5_CL_DEMO_APP_008' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Popup' + subheader = 'Messages & Exception' + press = client->_event( 'z2ui5_cl_demo_app_154' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). - panel->generic_tile( - header = 'Message Box' - subheader = 'sy, bapiret, cx_root' - press = client->_event( 'z2ui5_cl_demo_app_187' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Message View' + " TODO: check spelling: Ouput (typo) -> Output (ABAP cleaner) + subheader = 'Custom Popup, Popover & Ouput' + press = client->_event( 'Z2UI5_CL_DEMO_APP_038' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' +). - panel->generic_tile( - header = 'Popup' - subheader = 'Messages & Exception' - press = client->_event( 'z2ui5_cl_demo_app_154' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Messages' + subheader = 'More...' + press = client->_event( 'z2ui5_cl_demo_app_084' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). - panel->generic_tile( - header = 'Message View' - subheader = 'Custom Popup, Popover & Ouput' - press = client->_event( 'Z2UI5_CL_DEMO_APP_038' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel = page->panel( expandable = abap_false + expanded = abap_true + headertext = `File API` + ). - panel->generic_tile( - header = 'Messages' - subheader = 'More...' - press = client->_event( 'z2ui5_cl_demo_app_084' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Download CSV' + subheader = 'Export Table as CSV' + press = client->_event( 'Z2UI5_CL_DEMO_APP_057' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' +). - panel = page->panel( - expandable = abap_false - expanded = abap_true - headertext = `File API` - ). + panel->generic_tile( header = 'Upload CSV' + subheader = 'Import CSV as internal Table' + press = client->_event( 'Z2UI5_CL_DEMO_APP_074' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). - panel->generic_tile( - header = 'Download CSV' - subheader = 'Export Table as CSV' - press = client->_event( 'Z2UI5_CL_DEMO_APP_057' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + panel->generic_tile( header = 'File Uploader' + subheader = 'Upload files to the Backend' + press = client->_event( 'Z2UI5_CL_DEMO_APP_075' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' ). - panel->generic_tile( - header = 'Upload CSV' - subheader = 'Import CSV as internal Table' - press = client->_event( 'Z2UI5_CL_DEMO_APP_074' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'File Download' + subheader = 'Download files to the Frontend' + press = client->_event( 'Z2UI5_CL_DEMO_APP_186' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). - panel->generic_tile( - header = 'File Uploader' - subheader = 'Upload files to the Backend' - press = client->_event( 'Z2UI5_CL_DEMO_APP_075' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel = page->panel( expandable = abap_false + expanded = abap_true + headertext = `S-RTTI - Dynamic Typing` + ). - panel->generic_tile( - header = 'File Download' - subheader = 'Download files to the Frontend' - press = client->_event( 'Z2UI5_CL_DEMO_APP_186' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Dynamic Types' + subheader = 'Use S-RTTI to send tables to the frontend' + press = client->_event( 'Z2UI5_CL_DEMO_APP_061' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). - panel = page->panel( - expandable = abap_false - expanded = abap_true - headertext = `S-RTTI - Dynamic Typing` - ). - - - panel->generic_tile( - header = 'Dynamic Types' - subheader = 'Use S-RTTI to send tables to the frontend' - press = client->_event( 'Z2UI5_CL_DEMO_APP_061' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). - - - panel->generic_tile( - header = 'Dynamic Objects I' - subheader = 'Use S-RTTI to render different Subapps' - press = client->_event( 'Z2UI5_CL_DEMO_APP_131' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). - - panel->generic_tile( - header = 'Dynamic Objects II' - subheader = 'User Generic Data Refs in Subapps' - press = client->_event( 'Z2UI5_CL_DEMO_APP_117' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Dynamic Objects I' + subheader = 'Use S-RTTI to render different Subapps' + press = client->_event( 'Z2UI5_CL_DEMO_APP_131' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). - panel->generic_tile( - header = 'Dynamic Objects III' - subheader = 'User Generic Data Refs in Subapps' - press = client->_event( 'Z2UI5_CL_DEMO_APP_185' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Dynamic Objects II' + subheader = 'User Generic Data Refs in Subapps' + press = client->_event( 'Z2UI5_CL_DEMO_APP_117' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' +). - panel = page->panel( - expandable = abap_false - expanded = abap_true - headertext = `Device Capabilities` - ). + panel->generic_tile( header = 'Dynamic Objects III' + subheader = 'User Generic Data Refs in Subapps' + press = client->_event( 'Z2UI5_CL_DEMO_APP_185' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' +). - panel->generic_tile( - header = 'Geolocation' - subheader = '' - press = client->_event( 'z2ui5_cl_demo_app_120' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel = page->panel( expandable = abap_false + expanded = abap_true + headertext = `Device Capabilities` + ). - panel->generic_tile( - header = 'Frontend Infos' - subheader = '' - press = client->_event( 'z2ui5_cl_demo_app_122' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Geolocation' + subheader = '' + press = client->_event( 'z2ui5_cl_demo_app_120' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' +). + panel->generic_tile( header = 'Frontend Infos' + subheader = '' + press = client->_event( 'z2ui5_cl_demo_app_122' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' +). * panel->generic_tile( * header = 'Camera & Picture' @@ -431,875 +383,753 @@ CLASS z2ui5_cl_demo_app_000 IMPLEMENTATION. * class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' * ). - page = page2->panel( - expandable = abap_true - expanded = client->_bind_edit( ms_check_expanded-input ) - headertext = `Input & Output` ). + page = page2->panel( expandable = abap_true + expanded = client->_bind_edit( ms_check_expanded-input ) + headertext = `Input & Output` ). - panel = page->panel( - expandable = abap_false - expanded = abap_true - headertext = `Output` - ). + panel = page->panel( expandable = abap_false + expanded = abap_true + headertext = `Output` + ). - panel->generic_tile( - header = 'Label' - press = client->_event( 'Z2UI5_CL_DEMO_APP_051' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Label' + press = client->_event( 'Z2UI5_CL_DEMO_APP_051' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). - panel->generic_tile( - header = 'Progress Indicator' - press = client->_event( 'Z2UI5_CL_DEMO_APP_022' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Progress Indicator' + press = client->_event( 'Z2UI5_CL_DEMO_APP_022' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). - panel->generic_tile( - header = 'PDF Viewer' - subheader = 'Display PDFs via iframe' - press = client->_event( 'Z2UI5_CL_DEMO_APP_079' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'PDF Viewer' + subheader = 'Display PDFs via iframe' + press = client->_event( 'Z2UI5_CL_DEMO_APP_079' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). - panel->generic_tile( - header = 'Formatted Text' - subheader = 'Display HTML' - press = client->_event( 'Z2UI5_CL_DEMO_APP_015' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Formatted Text' + subheader = 'Display HTML' + press = client->_event( 'Z2UI5_CL_DEMO_APP_015' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). - panel->generic_tile( - header = 'Text' - subheader = 'Max Lines' - press = client->_event( 'Z2UI5_CL_DEMO_APP_206' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Text' + subheader = 'Max Lines' + press = client->_event( 'Z2UI5_CL_DEMO_APP_206' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). - panel->generic_tile( - header = 'InfoLabel' - press = client->_event( 'Z2UI5_CL_DEMO_APP_209' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'InfoLabel' + press = client->_event( 'Z2UI5_CL_DEMO_APP_209' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). - panel->generic_tile( - header = 'Busy Indicator' - press = client->_event( 'Z2UI5_CL_DEMO_APP_215' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Busy Indicator' + press = client->_event( 'Z2UI5_CL_DEMO_APP_215' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). - panel->generic_tile( - header = 'Object Header' - subheader = 'with Circle-shaped Image' - press = client->_event( 'Z2UI5_CL_DEMO_APP_272' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Object Header' + subheader = 'with Circle-shaped Image' + press = client->_event( 'Z2UI5_CL_DEMO_APP_272' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). - panel->generic_tile( - header = 'Object Page Header' - subheader = 'with Header Container' - press = client->_event( 'Z2UI5_CL_DEMO_APP_303' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Object Page Header' + subheader = 'with Header Container' + press = client->_event( 'Z2UI5_CL_DEMO_APP_303' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). - panel->generic_tile( - header = 'Object Marker in a table' - press = client->_event( 'Z2UI5_CL_DEMO_APP_289' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Object Marker in a table' + press = client->_event( 'Z2UI5_CL_DEMO_APP_289' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). - panel->generic_tile( - header = 'Link' - press = client->_event( 'Z2UI5_CL_DEMO_APP_293' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Link' + press = client->_event( 'Z2UI5_CL_DEMO_APP_293' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). - panel->generic_tile( - header = 'Object Status' - press = client->_event( 'Z2UI5_CL_DEMO_APP_300' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Object Status' + press = client->_event( 'Z2UI5_CL_DEMO_APP_300' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). - panel->generic_tile( - header = 'Object Attribute inside Table' - press = client->_event( 'Z2UI5_CL_DEMO_APP_302' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Object Attribute inside Table' + press = client->_event( 'Z2UI5_CL_DEMO_APP_302' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). + + panel = page->panel( expandable = abap_false + expanded = abap_true + headertext = 'Input' + ). + panel->generic_tile( header = 'Step Input' + press = client->_event( 'Z2UI5_CL_DEMO_APP_041' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). - panel = page->panel( - expandable = abap_false - expanded = abap_true - headertext = 'Input' + panel->generic_tile( header = 'Range Slider' + press = client->_event( 'Z2UI5_CL_DEMO_APP_005' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). + + panel->generic_tile( header = 'Text Area' + press = client->_event( 'Z2UI5_CL_DEMO_APP_021' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' ). - panel->generic_tile( - header = 'Step Input' - press = client->_event( 'Z2UI5_CL_DEMO_APP_041' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Code Editor' + press = client->_event( 'Z2UI5_CL_DEMO_APP_035' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). - panel->generic_tile( - header = 'Range Slider' - press = client->_event( 'Z2UI5_CL_DEMO_APP_005' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Rich Text Editor' + press = client->_event( 'Z2UI5_CL_DEMO_APP_106' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). - panel->generic_tile( - header = 'Text Area' - press = client->_event( 'Z2UI5_CL_DEMO_APP_021' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Feed Input' + press = client->_event( 'Z2UI5_CL_DEMO_APP_101' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' +). + panel->generic_tile( header = 'Radio Button' + press = client->_event( 'Z2UI5_CL_DEMO_APP_207' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' +). - panel->generic_tile( - header = 'Code Editor' - press = client->_event( 'Z2UI5_CL_DEMO_APP_035' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Radio Button Group' + press = client->_event( 'Z2UI5_CL_DEMO_APP_208' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' +). - panel->generic_tile( - header = 'Rich Text Editor' - press = client->_event( 'Z2UI5_CL_DEMO_APP_106' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Input' + subheader = 'Types' + press = client->_event( 'Z2UI5_CL_DEMO_APP_210' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' +). - panel->generic_tile( - header = 'Feed Input' - press = client->_event( 'Z2UI5_CL_DEMO_APP_101' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Input' + subheader = 'Password' + press = client->_event( 'Z2UI5_CL_DEMO_APP_213' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' +). + panel->generic_tile( header = 'Rating Indicator' + press = client->_event( 'Z2UI5_CL_DEMO_APP_220' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' +). - panel->generic_tile( - header = 'Radio Button' - press = client->_event( 'Z2UI5_CL_DEMO_APP_207' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'ComboBox' + subheader = 'Suggestions wrapping' + press = client->_event( 'Z2UI5_CL_DEMO_APP_229' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' +). - panel->generic_tile( - header = 'Radio Button Group' - press = client->_event( 'Z2UI5_CL_DEMO_APP_208' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Segmented Button in Input List Item' + press = client->_event( 'Z2UI5_CL_DEMO_APP_230' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' +). - panel->generic_tile( - header = 'Input' - subheader = 'Types' - press = client->_event( 'Z2UI5_CL_DEMO_APP_210' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Date Range Selection' + press = client->_event( 'Z2UI5_CL_DEMO_APP_231' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' +). - panel->generic_tile( - header = 'Input' - subheader = 'Password' - press = client->_event( 'Z2UI5_CL_DEMO_APP_213' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Multi Input' + subheader = 'Suggestions wrapping' + press = client->_event( 'Z2UI5_CL_DEMO_APP_232' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' +). - panel->generic_tile( - header = 'Rating Indicator' - press = client->_event( 'Z2UI5_CL_DEMO_APP_220' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Multi Combo Box' + subheader = 'Suggestions wrapping' + press = client->_event( 'Z2UI5_CL_DEMO_APP_233' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' +). - panel->generic_tile( - header = 'ComboBox' - subheader = 'Suggestions wrapping' - press = client->_event( 'Z2UI5_CL_DEMO_APP_229' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Text Area' + subheader = 'Value States' + press = client->_event( 'Z2UI5_CL_DEMO_APP_234' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' +). - panel->generic_tile( - header = 'Segmented Button in Input List Item' - press = client->_event( 'Z2UI5_CL_DEMO_APP_230' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Text Area' + subheader = 'Growing' + press = client->_event( 'Z2UI5_CL_DEMO_APP_236' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' +). - panel->generic_tile( - header = 'Date Range Selection' - press = client->_event( 'Z2UI5_CL_DEMO_APP_231' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Slider' + press = client->_event( 'Z2UI5_CL_DEMO_APP_237' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' +). - panel->generic_tile( - header = 'Multi Input' - subheader = 'Suggestions wrapping' - press = client->_event( 'Z2UI5_CL_DEMO_APP_232' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Checkbox' + press = client->_event( 'Z2UI5_CL_DEMO_APP_239' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' +). - panel->generic_tile( - header = 'Multi Combo Box' - subheader = 'Suggestions wrapping' - press = client->_event( 'Z2UI5_CL_DEMO_APP_233' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Switch' + press = client->_event( 'Z2UI5_CL_DEMO_APP_240' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' +). - panel->generic_tile( - header = 'Text Area' - subheader = 'Value States' - press = client->_event( 'Z2UI5_CL_DEMO_APP_234' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'HTML' + press = client->_event( 'Z2UI5_CL_DEMO_APP_242' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' +). - panel->generic_tile( - header = 'Text Area' - subheader = 'Growing' - press = client->_event( 'Z2UI5_CL_DEMO_APP_236' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Input' + subheader = 'Suggestions wrapping' + press = client->_event( 'Z2UI5_CL_DEMO_APP_246' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' +). - panel->generic_tile( - header = 'Slider' - press = client->_event( 'Z2UI5_CL_DEMO_APP_237' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Input' + subheader = 'Description' + press = client->_event( 'Z2UI5_CL_DEMO_APP_251' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' +). - panel->generic_tile( - header = 'Checkbox' - press = client->_event( 'Z2UI5_CL_DEMO_APP_239' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Button' + press = client->_event( 'Z2UI5_CL_DEMO_APP_259' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' +). - panel->generic_tile( - header = 'Switch' - press = client->_event( 'Z2UI5_CL_DEMO_APP_240' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Step Input' + subheader = 'Value States' + press = client->_event( 'Z2UI5_CL_DEMO_APP_264' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). + + panel->generic_tile( header = 'Code Editor' + press = client->_event( 'Z2UI5_CL_DEMO_APP_265' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). + + panel->generic_tile( header = 'Toggle Button' + press = client->_event( 'Z2UI5_CL_DEMO_APP_266' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' +). + + panel->generic_tile( header = 'Multi Input' + subheader = 'Value States' + press = client->_event( 'Z2UI5_CL_DEMO_APP_267' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' +). - panel->generic_tile( - header = 'HTML' - press = client->_event( 'Z2UI5_CL_DEMO_APP_242' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + panel->generic_tile( header = 'Icon' + press = client->_event( 'Z2UI5_CL_DEMO_APP_268' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' ). - panel->generic_tile( - header = 'Input' - subheader = 'Suggestions wrapping' - press = client->_event( 'Z2UI5_CL_DEMO_APP_246' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + panel->generic_tile( header = 'InvisibleText' + press = client->_event( 'Z2UI5_CL_DEMO_APP_282' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' ). - panel->generic_tile( - header = 'Input' - subheader = 'Description' - press = client->_event( 'Z2UI5_CL_DEMO_APP_251' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + panel->generic_tile( header = 'Feed Input 2' + press = client->_event( 'Z2UI5_CL_DEMO_APP_283' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' ). - panel->generic_tile( - header = 'Button' - press = client->_event( 'Z2UI5_CL_DEMO_APP_259' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + panel->generic_tile( header = 'Select' + press = client->_event( 'Z2UI5_CL_DEMO_APP_288' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' ). - panel->generic_tile( - header = 'Step Input' - subheader = 'Value States' - press = client->_event( 'Z2UI5_CL_DEMO_APP_264' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Date Picker' + subheader = 'Value States' + press = client->_event( 'Z2UI5_CL_DEMO_APP_294' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' +). - panel->generic_tile( - header = 'Code Editor' - press = client->_event( 'Z2UI5_CL_DEMO_APP_265' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Date Range Selection' + subheader = 'Value States' + press = client->_event( 'Z2UI5_CL_DEMO_APP_295' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' +). - panel->generic_tile( - header = 'Toggle Button' - press = client->_event( 'Z2UI5_CL_DEMO_APP_266' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Select' + subheader = 'with icons' + press = client->_event( 'Z2UI5_CL_DEMO_APP_297' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' +). - panel->generic_tile( - header = 'Multi Input' - subheader = 'Value States' - press = client->_event( 'Z2UI5_CL_DEMO_APP_267' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Select' + subheader = 'Validation states' + press = client->_event( 'Z2UI5_CL_DEMO_APP_298' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' +). - panel->generic_tile( - header = 'Icon' - press = client->_event( 'Z2UI5_CL_DEMO_APP_268' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Select' + subheader = 'Wrapping text' + press = client->_event( 'Z2UI5_CL_DEMO_APP_299' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' +). - panel->generic_tile( - header = 'InvisibleText' - press = client->_event( 'Z2UI5_CL_DEMO_APP_282' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Expandable Text' + press = client->_event( 'Z2UI5_CL_DEMO_APP_301' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' +). - panel->generic_tile( - header = 'Feed Input 2' - press = client->_event( 'Z2UI5_CL_DEMO_APP_283' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel = page->panel( expandable = abap_false + expanded = abap_true + headertext = 'Interaction' + ). - panel->generic_tile( - header = 'Select' - press = client->_event( 'Z2UI5_CL_DEMO_APP_288' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Search Field I' + subheader = 'Filter with enter' + press = client->_event( 'Z2UI5_CL_DEMO_APP_053' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). - panel->generic_tile( - header = 'Date Picker' - subheader = 'Value States' - press = client->_event( 'Z2UI5_CL_DEMO_APP_294' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + panel->generic_tile( header = 'Search Field II' + subheader = 'Filter with Live Change Event' + press = client->_event( 'Z2UI5_CL_DEMO_APP_059' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' ). - panel->generic_tile( - header = 'Date Range Selection' - subheader = 'Value States' - press = client->_event( 'Z2UI5_CL_DEMO_APP_295' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Input with Suggestion' + subheader = 'Create Suggestion Table on the Server' + press = client->_event( 'Z2UI5_CL_DEMO_APP_060' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). - panel->generic_tile( - header = 'Select' - subheader = 'with icons' - press = client->_event( 'Z2UI5_CL_DEMO_APP_297' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Multi Input' + subheader = 'Token & Range Handling' + press = client->_event( 'Z2UI5_CL_DEMO_APP_078' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). - panel->generic_tile( - header = 'Select' - subheader = 'Validation states' - press = client->_event( 'Z2UI5_CL_DEMO_APP_298' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + panel->generic_tile( header = 'Color Picker' +* subheader = 'Token & Range Handling' + press = client->_event( 'z2ui5_cl_demo_app_270' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' ). - panel->generic_tile( - header = 'Select' - subheader = 'Wrapping text' - press = client->_event( 'Z2UI5_CL_DEMO_APP_299' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + panel->generic_tile( header = 'Breadcrumbs' + subheader = 'sample with current page link' + press = client->_event( 'z2ui5_cl_demo_app_292' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' ). - panel->generic_tile( - header = 'Expandable Text' - press = client->_event( 'Z2UI5_CL_DEMO_APP_301' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Search Field' + press = client->_event( 'Z2UI5_CL_DEMO_APP_296' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' +). - panel = page->panel( - expandable = abap_false - expanded = abap_true - headertext = 'Interaction' - ). + panel = page->panel( expandable = abap_false + expanded = abap_true + headertext = 'Formatting & Calculations' + ). - panel->generic_tile( - header = 'Search Field I' - subheader = 'Filter with enter' - press = client->_event( 'Z2UI5_CL_DEMO_APP_053' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Data Types' + subheader = 'Use of Integer, Decimals, Dates & Time' + press = client->_event( 'Z2UI5_CL_DEMO_APP_047' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). - panel->generic_tile( - header = 'Search Field II' - subheader = 'Filter with Live Change Event' - press = client->_event( 'Z2UI5_CL_DEMO_APP_059' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Formatting' + subheader = 'Currencies' + press = client->_event( 'Z2UI5_CL_DEMO_APP_067' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). - panel->generic_tile( - header = 'Input with Suggestion' - subheader = 'Create Suggestion Table on the Server' - press = client->_event( 'Z2UI5_CL_DEMO_APP_060' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Mask Input' + subheader = `` + press = client->_event( 'Z2UI5_CL_DEMO_APP_110' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). - panel->generic_tile( - header = 'Multi Input' - subheader = 'Token & Range Handling' - press = client->_event( 'Z2UI5_CL_DEMO_APP_078' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Expression Binding' + subheader = 'Use calculations & more functions directly in views' + press = client->_event( 'Z2UI5_CL_DEMO_APP_027' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' +). - panel->generic_tile( - header = 'Color Picker' -* subheader = 'Token & Range Handling' - press = client->_event( 'z2ui5_cl_demo_app_270' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel = page->panel( expandable = abap_false + expanded = abap_true + headertext = 'Tiles' +). - panel->generic_tile( - header = 'Breadcrumbs' - subheader = 'sample with current page link' - press = client->_event( 'z2ui5_cl_demo_app_292' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Tile' + subheader = 'Numeric Content Without Margins' + press = client->_event( 'Z2UI5_CL_DEMO_APP_228' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' +). - panel->generic_tile( - header = 'Search Field' - press = client->_event( 'Z2UI5_CL_DEMO_APP_296' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Tile' + subheader = 'Tile Content' + press = client->_event( 'Z2UI5_CL_DEMO_APP_241' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' +). - panel = page->panel( - expandable = abap_false - expanded = abap_true - headertext = 'Formatting & Calculations' - ). + panel->generic_tile( header = 'Tile' + subheader = 'News Content' + press = client->_event( 'Z2UI5_CL_DEMO_APP_261' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' +). - panel->generic_tile( - header = 'Data Types' - subheader = 'Use of Integer, Decimals, Dates & Time' - press = client->_event( 'Z2UI5_CL_DEMO_APP_047' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Tile' + subheader = 'Numeric Content of Different Colors' + press = client->_event( 'Z2UI5_CL_DEMO_APP_262' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' +). - panel->generic_tile( - header = 'Formatting' - subheader = 'Currencies' - press = client->_event( 'Z2UI5_CL_DEMO_APP_067' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Tile' + subheader = 'Numeric Content with Icon' + press = client->_event( 'Z2UI5_CL_DEMO_APP_263' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' +). - panel->generic_tile( - header = 'Mask Input' - subheader = `` - press = client->_event( 'Z2UI5_CL_DEMO_APP_110' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Tile' + subheader = 'Image Content' + press = client->_event( 'Z2UI5_CL_DEMO_APP_271' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' +). - panel->generic_tile( - header = 'Expression Binding' - subheader = 'Use calculations & more functions directly in views' - press = client->_event( 'Z2UI5_CL_DEMO_APP_027' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + panel->generic_tile( header = 'Tile' + subheader = 'Feed Content' + press = client->_event( 'Z2UI5_CL_DEMO_APP_275' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' ). - panel = page->panel( - expandable = abap_false - expanded = abap_true - headertext = 'Tiles' - ). + panel->generic_tile( header = 'Tile' + subheader = 'Monitor Tile' + press = client->_event( 'Z2UI5_CL_DEMO_APP_276' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). - panel->generic_tile( - header = 'Tile' - subheader = 'Numeric Content Without Margins' - press = client->_event( 'Z2UI5_CL_DEMO_APP_228' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + panel->generic_tile( header = 'Tile' + subheader = 'KPI Tile' + press = client->_event( 'Z2UI5_CL_DEMO_APP_277' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' ). - panel->generic_tile( - header = 'Tile' - subheader = 'Tile Content' - press = client->_event( 'Z2UI5_CL_DEMO_APP_241' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + panel->generic_tile( header = 'Tile' + subheader = 'Feed and News Tile' + press = client->_event( 'Z2UI5_CL_DEMO_APP_278' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' ). - panel->generic_tile( - header = 'Tile' - subheader = 'News Content' - press = client->_event( 'Z2UI5_CL_DEMO_APP_261' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + panel->generic_tile( header = 'Tile' + subheader = 'Statuses' + press = client->_event( 'Z2UI5_CL_DEMO_APP_281' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' ). - panel->generic_tile( - header = 'Tile' - subheader = 'Numeric Content of Different Colors' - press = client->_event( 'Z2UI5_CL_DEMO_APP_262' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + page = page2->panel( expandable = abap_true + expanded = client->_bind_edit( ms_check_expanded-more ) + headertext = `Tables & Trees` + ). + + panel = page->panel( expandable = abap_false + expanded = abap_true + headertext = `Table` + ). + + panel->generic_tile( header = 'Toolbar' + subheader = 'Add a container & toolbar' + press = client->_event( 'Z2UI5_CL_DEMO_APP_006' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' ). - panel->generic_tile( - header = 'Tile' - subheader = 'Numeric Content with Icon' - press = client->_event( 'Z2UI5_CL_DEMO_APP_263' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + panel->generic_tile( header = 'Selection Modes' + subheader = 'Single Select & Multi Select' + press = client->_event( 'Z2UI5_CL_DEMO_APP_019' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' ). - panel->generic_tile( - header = 'Tile' - subheader = 'Image Content' - press = client->_event( 'Z2UI5_CL_DEMO_APP_271' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + panel->generic_tile( header = 'Editable' + subheader = 'Set columns editable' + press = client->_event( 'Z2UI5_CL_DEMO_APP_011' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' ). - panel->generic_tile( - header = 'Tile' - subheader = 'Feed Content' - press = client->_event( 'Z2UI5_CL_DEMO_APP_275' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Visualization' + subheader = 'Object Number, Object States & Tab Filter' + press = client->_event( 'Z2UI5_CL_DEMO_APP_072' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). - panel->generic_tile( - header = 'Tile' - subheader = 'Monitor Tile' - press = client->_event( 'Z2UI5_CL_DEMO_APP_276' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Column Menu' + press = client->_event( 'z2ui5_cl_demo_app_183' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). - panel->generic_tile( - header = 'Tile' - subheader = 'KPI Tile' - press = client->_event( 'Z2UI5_CL_DEMO_APP_277' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'ui.Table I' + subheader = 'Simple example' + press = client->_event( 'Z2UI5_CL_DEMO_APP_070' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). - panel->generic_tile( - header = 'Tile' - subheader = 'Feed and News Tile' - press = client->_event( 'Z2UI5_CL_DEMO_APP_278' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'ui.Table II' + subheader = 'Events on Cell Level' + press = client->_event( 'Z2UI5_CL_DEMO_APP_160' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' +). - panel->generic_tile( - header = 'Tile' - subheader = 'Statuses' - press = client->_event( 'Z2UI5_CL_DEMO_APP_281' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'ui.Table III' + subheader = 'Focus Handling' + press = client->_event( 'Z2UI5_CL_DEMO_APP_172' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' +). - page = page2->panel( - expandable = abap_true - expanded = client->_bind_edit( ms_check_expanded-more ) - headertext = `Tables & Trees` - ). - - panel = page->panel( - expandable = abap_false - expanded = abap_true - headertext = `Table` - ). - - panel->generic_tile( - header = 'Toolbar' - subheader = 'Add a container & toolbar' - press = client->_event( 'Z2UI5_CL_DEMO_APP_006' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel = page->panel( expandable = abap_false + expanded = abap_true + headertext = `Lists` + ). - panel->generic_tile( - header = 'Selection Modes' - subheader = 'Single Select & Multi Select' - press = client->_event( 'Z2UI5_CL_DEMO_APP_019' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'List I' + subheader = 'Basic' + press = client->_event( 'Z2UI5_CL_DEMO_APP_003' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). - panel->generic_tile( - header = 'Editable' - subheader = 'Set columns editable' - press = client->_event( 'Z2UI5_CL_DEMO_APP_011' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'List II' + subheader = 'Events & Visualization' + press = client->_event( 'Z2UI5_CL_DEMO_APP_048' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' ). - panel->generic_tile( - header = 'Visualization' - subheader = 'Object Number, Object States & Tab Filter' - press = client->_event( 'Z2UI5_CL_DEMO_APP_072' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). - - panel->generic_tile( - header = 'Column Menu' - press = client->_event( 'z2ui5_cl_demo_app_183' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). - - panel->generic_tile( - header = 'ui.Table I' - subheader = 'Simple example' - press = client->_event( 'Z2UI5_CL_DEMO_APP_070' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Action List Item' + press = client->_event( 'Z2UI5_CL_DEMO_APP_216' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' ). - panel->generic_tile( - header = 'ui.Table II' - subheader = 'Events on Cell Level' - press = client->_event( 'Z2UI5_CL_DEMO_APP_160' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + panel->generic_tile( header = 'Input List Item' + press = client->_event( 'Z2UI5_CL_DEMO_APP_219' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' ). + + panel->generic_tile( header = 'Standard List Item' + subheader = 'Info State Inverted' + press = client->_event( 'Z2UI5_CL_DEMO_APP_286' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' ). - panel->generic_tile( - header = 'ui.Table III' - subheader = 'Focus Handling' - press = client->_event( 'Z2UI5_CL_DEMO_APP_172' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + panel->generic_tile( header = 'Standard List Item' + subheader = 'Wrapping' + press = client->_event( 'Z2UI5_CL_DEMO_APP_287' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' ). - panel = page->panel( - expandable = abap_false - expanded = abap_true - headertext = `Lists` - ). + panel->generic_tile( header = 'Object List Item' + subheader = 'markers aggregation' + press = client->_event( 'Z2UI5_CL_DEMO_APP_290' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). - panel->generic_tile( - header = 'List I' - subheader = 'Basic' - press = client->_event( 'Z2UI5_CL_DEMO_APP_003' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel = page->panel( expandable = abap_false + expanded = abap_true + headertext = `Trees` + ). - panel->generic_tile( - header = 'List II' - subheader = 'Events & Visualization' - press = client->_event( 'Z2UI5_CL_DEMO_APP_048' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom'). + panel->generic_tile( header = 'Tree Table I' + subheader = 'Popup Select Entry' + press = client->_event( 'Z2UI5_CL_DEMO_APP_068' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). - panel->generic_tile( - header = 'Action List Item' - press = client->_event( 'Z2UI5_CL_DEMO_APP_216' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom'). + panel->generic_tile( header = 'Tree Table II' + subheader = 'Keep expanded state popup' + press = client->_event( 'Z2UI5_CL_DEMO_APP_178' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). - panel->generic_tile( - header = 'Input List Item' - press = client->_event( 'Z2UI5_CL_DEMO_APP_219' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom'). - - panel->generic_tile( - header = 'Standard List Item' - subheader = 'Info State Inverted' - press = client->_event( 'Z2UI5_CL_DEMO_APP_286' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Tree Table III' + subheader = 'Keep expanded state normal' + press = client->_event( 'z2ui5_cl_demo_app_116' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). - panel->generic_tile( - header = 'Standard List Item' - subheader = 'Wrapping' - press = client->_event( 'Z2UI5_CL_DEMO_APP_287' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + page = page2->panel( expandable = abap_true + expanded = client->_bind_edit( ms_check_expanded-popups ) + headertext = `Popups & Popovers` ). - panel->generic_tile( - header = 'Object List Item' - subheader = 'markers aggregation' - press = client->_event( 'Z2UI5_CL_DEMO_APP_290' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + panel = page->panel( expandable = abap_false + expanded = abap_true + headertext = `Popups` ). - panel = page->panel( - expandable = abap_false - expanded = abap_true - headertext = `Trees` - ). - - panel->generic_tile( - header = 'Tree Table I' - subheader = 'Popup Select Entry' - press = client->_event( 'Z2UI5_CL_DEMO_APP_068' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Flow Logic' + subheader = 'Different ways of calling Popups' + press = client->_event( 'Z2UI5_CL_DEMO_APP_012' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). - panel->generic_tile( - header = 'Tree Table II' - subheader = 'Keep expanded state popup' - press = client->_event( 'Z2UI5_CL_DEMO_APP_178' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Call Popup in Popup' + subheader = 'Backend Popup Stack Handling' + press = client->_event( 'z2ui5_cl_demo_app_161' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). - panel->generic_tile( - header = 'Tree Table III' - subheader = 'Keep expanded state normal' - press = client->_event( 'z2ui5_cl_demo_app_116' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'F4-Value-Help' + subheader = 'Popup for value help' + press = client->_event( 'Z2UI5_CL_DEMO_APP_009' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). - page = page2->panel( - expandable = abap_true - expanded = client->_bind_edit( ms_check_expanded-popups ) - headertext = `Popups & Popovers` ). + panel->generic_tile( header = 'LightBox' + press = client->_event( 'Z2UI5_CL_DEMO_APP_273' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). - panel = page->panel( - expandable = abap_false - expanded = abap_true - headertext = `Popups` - ). + panel = page->panel( expandable = abap_false + expanded = abap_true + headertext = `Popovers` + ). - panel->generic_tile( - header = 'Flow Logic' - subheader = 'Different ways of calling Popups' - press = client->_event( 'Z2UI5_CL_DEMO_APP_012' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Popover' + subheader = 'Simple Example' + press = client->_event( 'Z2UI5_CL_DEMO_APP_026' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). - panel->generic_tile( - header = 'Call Popup in Popup' - subheader = 'Backend Popup Stack Handling' - press = client->_event( 'z2ui5_cl_demo_app_161' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Popover Item Level' + subheader = 'Create a Popover for a specific entry of a table' + press = client->_event( 'Z2UI5_CL_DEMO_APP_052' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). - panel->generic_tile( - header = 'F4-Value-Help' - subheader = 'Popup for value help' - press = client->_event( 'Z2UI5_CL_DEMO_APP_009' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Popover with List' + subheader = 'List to select in Popover' + press = client->_event( 'Z2UI5_CL_DEMO_APP_081' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). - panel->generic_tile( - header = 'LightBox' - press = client->_event( 'Z2UI5_CL_DEMO_APP_273' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Popover with Quick View' + subheader = '' + press = client->_event( 'Z2UI5_CL_DEMO_APP_109' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). + panel->generic_tile( header = 'Popover with Action Sheet' + subheader = '' + press = client->_event( 'Z2UI5_CL_DEMO_APP_163' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). - panel = page->panel( - expandable = abap_false - expanded = abap_true - headertext = `Popovers` - ). + panel = page->panel( expandable = abap_false + expanded = abap_true + headertext = `Built-in Popups` + ). - panel->generic_tile( - header = 'Popover' - subheader = 'Simple Example' - press = client->_event( 'Z2UI5_CL_DEMO_APP_026' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Popup to Inform' + press = client->_event( 'Z2UI5_CL_DEMO_APP_151' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). - panel->generic_tile( - header = 'Popover Item Level' - subheader = 'Create a Popover for a specific entry of a table' - press = client->_event( 'Z2UI5_CL_DEMO_APP_052' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). - - panel->generic_tile( - header = 'Popover with List' - subheader = 'List to select in Popover' - press = client->_event( 'Z2UI5_CL_DEMO_APP_081' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). - - panel->generic_tile( - header = 'Popover with Quick View' - subheader = '' - press = client->_event( 'Z2UI5_CL_DEMO_APP_109' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). - - panel->generic_tile( - header = 'Popover with Action Sheet' - subheader = '' - press = client->_event( 'Z2UI5_CL_DEMO_APP_163' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). - - - panel = page->panel( - expandable = abap_false - expanded = abap_true - headertext = `Built-in Popups` - ). - - panel->generic_tile( - header = 'Popup to Inform' - press = client->_event( 'Z2UI5_CL_DEMO_APP_151' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). - - panel->generic_tile( - header = 'Popup to Confirm' - press = client->_event( 'Z2UI5_CL_DEMO_APP_150' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Popup to Confirm' + press = client->_event( 'Z2UI5_CL_DEMO_APP_150' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). * panel->generic_tile( * header = 'Popup to Error' @@ -1308,12 +1138,11 @@ CLASS z2ui5_cl_demo_app_000 IMPLEMENTATION. * class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' * ). - panel->generic_tile( - header = 'Popup to Select' - press = client->_event( 'z2ui5_cl_demo_app_174' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Popup to Select' + press = client->_event( 'z2ui5_cl_demo_app_174' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). * panel->generic_tile( * header = 'Popup Messages' @@ -1322,769 +1151,659 @@ CLASS z2ui5_cl_demo_app_000 IMPLEMENTATION. * class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' * ). - panel->generic_tile( - header = 'Popup Textedit' - press = client->_event( 'Z2UI5_CL_DEMO_APP_155' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). - - panel->generic_tile( - header = 'Popup Input Value' - press = client->_event( 'Z2UI5_CL_DEMO_APP_156' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). - - panel->generic_tile( - header = 'Popup File Upload' - press = client->_event( 'Z2UI5_CL_DEMO_APP_157' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Popup Textedit' + press = client->_event( 'Z2UI5_CL_DEMO_APP_155' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). - panel->generic_tile( - header = 'Popup Display PDF' - press = client->_event( 'Z2UI5_CL_DEMO_APP_158' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Popup Input Value' + press = client->_event( 'Z2UI5_CL_DEMO_APP_156' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). - panel->generic_tile( - header = 'Popup Get Range' - subheader = 'Create Select-Options in Multi Inputs' - press = client->_event( 'Z2UI5_CL_DEMO_APP_056' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Popup File Upload' + press = client->_event( 'Z2UI5_CL_DEMO_APP_157' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). - panel->generic_tile( - header = 'Popup Get Range Multi' - subheader = 'Create Select-Options for Structures & Tables' - press = client->_event( 'z2ui5_cl_demo_app_162' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Popup Display PDF' + press = client->_event( 'Z2UI5_CL_DEMO_APP_158' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). - panel->generic_tile( - header = 'Popup Display Table' - subheader = '' - press = client->_event( 'z2ui5_cl_demo_app_164' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Popup Get Range' + subheader = 'Create Select-Options in Multi Inputs' + press = client->_event( 'Z2UI5_CL_DEMO_APP_056' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). + + panel->generic_tile( header = 'Popup Get Range Multi' + subheader = 'Create Select-Options for Structures & Tables' + press = client->_event( 'z2ui5_cl_demo_app_162' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). + + panel->generic_tile( header = 'Popup Display Table' + subheader = '' + press = client->_event( 'z2ui5_cl_demo_app_164' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). + + panel->generic_tile( header = 'Popup Display Download' + subheader = '' + press = client->_event( 'z2ui5_cl_demo_app_168' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). - panel->generic_tile( - header = 'Popup Display Download' - subheader = '' - press = client->_event( 'z2ui5_cl_demo_app_168' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + panel->generic_tile( header = 'Popup Display HTML' + subheader = '' + press = client->_event( 'z2ui5_cl_demo_app_149' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' +). + + page = page2->panel( expandable = abap_true + expanded = client->_bind_edit( ms_check_expanded-features ) + headertext = `More Controls` ). + panel = page->panel( expandable = abap_false + expanded = abap_true + headertext = `Visualization` + ). - panel->generic_tile( - header = 'Popup Display HTML' - subheader = '' - press = client->_event( 'z2ui5_cl_demo_app_149' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + panel->generic_tile( header = 'Planning Calendar' + press = client->_event( 'Z2UI5_CL_DEMO_APP_080' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' ). - page = page2->panel( - expandable = abap_true - expanded = client->_bind_edit( ms_check_expanded-features ) - headertext = `More Controls` - ). + panel->generic_tile( header = 'Wizard Control I' + press = client->_event( 'z2ui5_cl_demo_app_175' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' +). + + panel->generic_tile( header = 'Wizard Control II' + subheader = 'Next step & SubSequentStep' + press = client->_event( 'z2ui5_cl_demo_app_202' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). + panel->generic_tile( header = 'Cards' + press = client->_event( 'z2ui5_cl_demo_app_181' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' +). - panel = page->panel( - expandable = abap_false - expanded = abap_true - headertext = `Visualization` - ). + panel = page->panel( expandable = abap_false + expanded = abap_true + headertext = `Layouts` + ). - panel->generic_tile( - header = 'Planning Calendar' - press = client->_event( 'Z2UI5_CL_DEMO_APP_080' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Header, Footer, Grid' + subheader = 'Split view in different areas' + press = client->_event( 'Z2UI5_CL_DEMO_APP_010' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). - panel->generic_tile( - header = 'Wizard Control I' - press = client->_event( 'z2ui5_cl_demo_app_175' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + panel->generic_tile( header = 'Dynamic Page' + subheader = 'Display items' + press = client->_event( 'Z2UI5_CL_DEMO_APP_030' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' ). - panel->generic_tile( - header = 'Wizard Control II' - subheader = 'Next step & SubSequentStep' - press = client->_event( 'z2ui5_cl_demo_app_202' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + panel->generic_tile( header = 'Flexible Column Layout' + subheader = 'Master details with tree' + press = client->_event( 'Z2UI5_CL_DEMO_APP_069' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' ). - panel->generic_tile( - header = 'Cards' - press = client->_event( 'z2ui5_cl_demo_app_181' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Splitting Container' + press = client->_event( 'Z2UI5_CL_DEMO_APP_103' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). - panel = page->panel( - expandable = abap_false - expanded = abap_true - headertext = `Layouts` - ). + panel->generic_tile( header = 'Flex Box' + subheader = 'Basic Alignment' + press = client->_event( 'Z2UI5_CL_DEMO_APP_205' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). - panel->generic_tile( - header = 'Header, Footer, Grid' - subheader = 'Split view in different areas' - press = client->_event( 'Z2UI5_CL_DEMO_APP_010' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Icon Tab Header' + subheader = 'Standalone Icon Tab Header' + press = client->_event( 'Z2UI5_CL_DEMO_APP_214' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). - panel->generic_tile( - header = 'Dynamic Page' - subheader = 'Display items' - press = client->_event( 'Z2UI5_CL_DEMO_APP_030' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Overflow Toolbar' + subheader = 'Placing a Title in OverflowToolbar/Toolbar' + press = client->_event( 'Z2UI5_CL_DEMO_APP_217' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). - panel->generic_tile( - header = 'Flexible Column Layout' - subheader = 'Master details with tree' - press = client->_event( 'Z2UI5_CL_DEMO_APP_069' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). - - panel->generic_tile( - header = 'Splitting Container' - press = client->_event( 'Z2UI5_CL_DEMO_APP_103' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). - - - panel->generic_tile( - header = 'Flex Box' - subheader = 'Basic Alignment' - press = client->_event( 'Z2UI5_CL_DEMO_APP_205' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). - - panel->generic_tile( - header = 'Icon Tab Header' - subheader = 'Standalone Icon Tab Header' - press = client->_event( 'Z2UI5_CL_DEMO_APP_214' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). - - panel->generic_tile( - header = 'Overflow Toolbar' - subheader = 'Placing a Title in OverflowToolbar/Toolbar' - press = client->_event( 'Z2UI5_CL_DEMO_APP_217' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). - - panel->generic_tile( - header = 'Flex Box' - subheader = 'Opposing Alignment' - press = client->_event( 'Z2UI5_CL_DEMO_APP_218' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). - - panel->generic_tile( - header = 'Standard Margins' - subheader = 'Negative Margins' - press = client->_event( 'Z2UI5_CL_DEMO_APP_243' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). - - panel->generic_tile( - header = 'Flex Box' - subheader = 'Size Adjustments' - press = client->_event( 'Z2UI5_CL_DEMO_APP_244' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). - - panel->generic_tile( - header = 'Flex Box' - subheader = 'Direction & Order' - press = client->_event( 'Z2UI5_CL_DEMO_APP_245' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). - - panel->generic_tile( - header = 'Splitter Layout' - subheader = '2 areas' - press = client->_event( 'Z2UI5_CL_DEMO_APP_247' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). - - panel->generic_tile( - header = 'Splitter Layout' - subheader = '2 non-resizable areas' - press = client->_event( 'Z2UI5_CL_DEMO_APP_248' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). - - panel->generic_tile( - header = 'Splitter Layout' - subheader = '3 areas' - press = client->_event( 'Z2UI5_CL_DEMO_APP_249' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). - - panel->generic_tile( - header = 'OverflowToolbar' - subheader = 'Alignment' - press = client->_event( 'Z2UI5_CL_DEMO_APP_250' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). - - panel->generic_tile( - header = 'Flex Box' - subheader = 'Render Type' - press = client->_event( 'Z2UI5_CL_DEMO_APP_252' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). - - panel->generic_tile( - header = 'Flex Box' - subheader = 'Equal Height Cols' - press = client->_event( 'Z2UI5_CL_DEMO_APP_253' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). - - panel->generic_tile( - header = 'Flex Box' - subheader = 'Nested' - press = client->_event( 'Z2UI5_CL_DEMO_APP_254' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). - - panel->generic_tile( - header = 'Flex Box' - subheader = 'Navigation Examples' - press = client->_event( 'Z2UI5_CL_DEMO_APP_255' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). - - panel->generic_tile( - header = 'Fix Flex' - subheader = 'Fix container size' - press = client->_event( 'Z2UI5_CL_DEMO_APP_256' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). - - panel->generic_tile( - header = 'Generic Tag with Different Configurations' - press = client->_event( 'Z2UI5_CL_DEMO_APP_257' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). - - panel->generic_tile( - header = 'Nested Splitter Layouts' - subheader = '7 Areas' - press = client->_event( 'Z2UI5_CL_DEMO_APP_260' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). - - panel->generic_tile( - header = 'Shell Bar' - subheader = 'title mega menu' - press = client->_event( 'Z2UI5_CL_DEMO_APP_269' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Flex Box' + subheader = 'Opposing Alignment' + press = client->_event( 'Z2UI5_CL_DEMO_APP_218' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). - panel->generic_tile( - header = 'Slide Tile' - press = client->_event( 'Z2UI5_CL_DEMO_APP_274' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Standard Margins' + subheader = 'Negative Margins' + press = client->_event( 'Z2UI5_CL_DEMO_APP_243' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). - panel = page->panel( - expandable = abap_false - expanded = abap_true - headertext = `Nested Views` - ). - - panel->generic_tile( - header = 'Nested Views I' - subheader = 'Basic Example' - press = client->_event( 'Z2UI5_CL_DEMO_APP_065' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Flex Box' + subheader = 'Size Adjustments' + press = client->_event( 'Z2UI5_CL_DEMO_APP_244' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). - panel->generic_tile( - header = 'Nested Views II' - subheader = 'Head & Item Table' - press = client->_event( 'Z2UI5_CL_DEMO_APP_097' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Flex Box' + subheader = 'Direction & Order' + press = client->_event( 'Z2UI5_CL_DEMO_APP_245' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). - panel->generic_tile( - header = 'Nested Views III' - subheader = 'Head & Item Table & Detail' - press = client->_event( 'Z2UI5_CL_DEMO_APP_098' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Splitter Layout' + subheader = '2 areas' + press = client->_event( 'Z2UI5_CL_DEMO_APP_247' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). - panel->generic_tile( - header = 'Nested Views IV' - subheader = 'Sub-App' - press = client->_event( 'Z2UI5_CL_DEMO_APP_104' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' -). + panel->generic_tile( header = 'Splitter Layout' + subheader = '2 non-resizable areas' + press = client->_event( 'Z2UI5_CL_DEMO_APP_248' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). - panel = page->panel( - expandable = abap_false - expanded = abap_true - headertext = `Navigation Container` - ). + panel->generic_tile( header = 'Splitter Layout' + subheader = '3 areas' + press = client->_event( 'Z2UI5_CL_DEMO_APP_249' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). - panel->generic_tile( - header = 'Nav Container I' - press = client->_event( 'Z2UI5_CL_DEMO_APP_088' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'OverflowToolbar' + subheader = 'Alignment' + press = client->_event( 'Z2UI5_CL_DEMO_APP_250' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). - panel->generic_tile( - header = 'Icon Tab Bar' - subheader = 'Icons Only' - press = client->_event( 'Z2UI5_CL_DEMO_APP_221' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Flex Box' + subheader = 'Render Type' + press = client->_event( 'Z2UI5_CL_DEMO_APP_252' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). - panel->generic_tile( - header = 'Icon Tab Bar' - subheader = 'Text and Count' - press = client->_event( 'Z2UI5_CL_DEMO_APP_222' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Flex Box' + subheader = 'Equal Height Cols' + press = client->_event( 'Z2UI5_CL_DEMO_APP_253' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). - panel->generic_tile( - header = 'Icon Tab Bar' - subheader = 'Inline Mode' - press = client->_event( 'Z2UI5_CL_DEMO_APP_223' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Flex Box' + subheader = 'Nested' + press = client->_event( 'Z2UI5_CL_DEMO_APP_254' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). - panel->generic_tile( - header = 'Icon Tab Bar' - subheader = 'Text Only' - press = client->_event( 'Z2UI5_CL_DEMO_APP_224' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Flex Box' + subheader = 'Navigation Examples' + press = client->_event( 'Z2UI5_CL_DEMO_APP_255' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). - panel->generic_tile( - header = 'Icon Tab Bar' - subheader = 'Separator' - press = client->_event( 'Z2UI5_CL_DEMO_APP_225' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Fix Flex' + subheader = 'Fix container size' + press = client->_event( 'Z2UI5_CL_DEMO_APP_256' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). - panel->generic_tile( - header = 'Icon Tab Bar' - subheader = 'Sub tabs' - press = client->_event( 'Z2UI5_CL_DEMO_APP_226' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Generic Tag with Different Configurations' + press = client->_event( 'Z2UI5_CL_DEMO_APP_257' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). - panel->generic_tile( - header = 'Bar' - subheader = 'Page, Toolbar & Bar' - press = client->_event( 'Z2UI5_CL_DEMO_APP_227' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Nested Splitter Layouts' + subheader = '7 Areas' + press = client->_event( 'Z2UI5_CL_DEMO_APP_260' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). - panel->generic_tile( - header = 'Bar' - subheader = 'Toolbar vs Bar vs OverflowToolbar' - press = client->_event( 'Z2UI5_CL_DEMO_APP_235' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + panel->generic_tile( header = 'Shell Bar' + subheader = 'title mega menu' + press = client->_event( 'Z2UI5_CL_DEMO_APP_269' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' ). - panel->generic_tile( - header = 'Message Strip' - press = client->_event( 'Z2UI5_CL_DEMO_APP_238' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + panel->generic_tile( header = 'Slide Tile' + press = client->_event( 'Z2UI5_CL_DEMO_APP_274' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' ). - panel->generic_tile( - header = 'Header Container' - subheader = 'Vertical Mode' - press = client->_event( 'Z2UI5_CL_DEMO_APP_280' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel = page->panel( expandable = abap_false + expanded = abap_true + headertext = `Nested Views` + ). - panel->generic_tile( - header = 'Page' - subheader = 'Flexible sizing - Toolbar' - press = client->_event( 'Z2UI5_CL_DEMO_APP_284' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + panel->generic_tile( header = 'Nested Views I' + subheader = 'Basic Example' + press = client->_event( 'Z2UI5_CL_DEMO_APP_065' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' ). - panel->generic_tile( - header = 'Page' - subheader = 'Flexible sizing - Icon Tab Bar' - press = client->_event( 'Z2UI5_CL_DEMO_APP_285' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Nested Views II' + subheader = 'Head & Item Table' + press = client->_event( 'Z2UI5_CL_DEMO_APP_097' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' +). - panel->generic_tile( - header = 'Message Strip' - subheader = 'with enableFormattedText' - press = client->_event( 'Z2UI5_CL_DEMO_APP_291' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Nested Views III' + subheader = 'Head & Item Table & Detail' + press = client->_event( 'Z2UI5_CL_DEMO_APP_098' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' +). - panel = page->panel( - expandable = abap_false - expanded = abap_true - headertext = `Templating` - ). + panel->generic_tile( header = 'Nested Views IV' + subheader = 'Sub-App' + press = client->_event( 'Z2UI5_CL_DEMO_APP_104' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' +). - panel->generic_tile( - header = 'Templating I' - subheader = 'Basic Example' - press = client->_event( 'Z2UI5_CL_DEMO_APP_173' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel = page->panel( expandable = abap_false + expanded = abap_true + headertext = `Navigation Container` + ). - panel->generic_tile( - header = 'Templating II' - subheader = 'Nested Views' - press = client->_event( 'Z2UI5_CL_DEMO_APP_176' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Nav Container I' + press = client->_event( 'Z2UI5_CL_DEMO_APP_088' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' +). + + panel->generic_tile( header = 'Icon Tab Bar' + subheader = 'Icons Only' + press = client->_event( 'Z2UI5_CL_DEMO_APP_221' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' +). - page = page2->panel( - expandable = abap_true - expanded = client->_bind_edit( ms_check_expanded-extensions ) - headertext = `Custom Extensions` - ). + panel->generic_tile( header = 'Icon Tab Bar' + subheader = 'Text and Count' + press = client->_event( 'Z2UI5_CL_DEMO_APP_222' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' +). - panel = page->panel( - expandable = abap_false - expanded = abap_true - headertext = `General` - ). + panel->generic_tile( header = 'Icon Tab Bar' + subheader = 'Inline Mode' + press = client->_event( 'Z2UI5_CL_DEMO_APP_223' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' +). + panel->generic_tile( header = 'Icon Tab Bar' + subheader = 'Text Only' + press = client->_event( 'Z2UI5_CL_DEMO_APP_224' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' +). - panel->generic_tile( - header = 'Import View' - subheader = 'Copy & paste views of the UI5 Documentation' - press = client->_event( 'Z2UI5_CL_DEMO_APP_031' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Icon Tab Bar' + subheader = 'Separator' + press = client->_event( 'Z2UI5_CL_DEMO_APP_225' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' +). - panel->generic_tile( - header = 'Custom Control' - subheader = 'Integrate your own JS Custom Control' - press = client->_event( 'Z2UI5_CL_DEMO_APP_037' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Icon Tab Bar' + subheader = 'Sub tabs' + press = client->_event( 'Z2UI5_CL_DEMO_APP_226' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' +). - panel->generic_tile( - header = 'Change CSS' - subheader = 'Send your own CSS to the frontend' - press = client->_event( 'Z2UI5_CL_DEMO_APP_050' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). - - - panel->generic_tile( - header = 'HTML, JS, CSS' - subheader = 'Display normal HTML without UI5' - press = client->_event( 'Z2UI5_CL_DEMO_APP_032' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Bar' + subheader = 'Page, Toolbar & Bar' + press = client->_event( 'Z2UI5_CL_DEMO_APP_227' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' +). - panel->generic_tile( - header = 'Canvas & SVG' - subheader = 'Integrate more HTML5 functionalities' - press = client->_event( 'Z2UI5_CL_DEMO_APP_036' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Bar' + subheader = 'Toolbar vs Bar vs OverflowToolbar' + press = client->_event( 'Z2UI5_CL_DEMO_APP_235' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' +). + + panel->generic_tile( header = 'Message Strip' + press = client->_event( 'Z2UI5_CL_DEMO_APP_238' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' +). + + panel->generic_tile( header = 'Header Container' + subheader = 'Vertical Mode' + press = client->_event( 'Z2UI5_CL_DEMO_APP_280' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' +). + + panel->generic_tile( header = 'Page' + subheader = 'Flexible sizing - Toolbar' + press = client->_event( 'Z2UI5_CL_DEMO_APP_284' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' +). + + panel->generic_tile( header = 'Page' + subheader = 'Flexible sizing - Icon Tab Bar' + press = client->_event( 'Z2UI5_CL_DEMO_APP_285' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' +). + + panel->generic_tile( header = 'Message Strip' + subheader = 'with enableFormattedText' + press = client->_event( 'Z2UI5_CL_DEMO_APP_291' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' +). - panel->generic_tile( - header = 'Ext. Library' - subheader = 'Load external JS libraries' - press = client->_event( 'Z2UI5_CL_DEMO_APP_040' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). - - panel->generic_tile( - header = 'Custom Function' - subheader = 'Call imported function' - press = client->_event( 'Z2UI5_CL_DEMO_APP_093' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). - - panel = page->panel( - expandable = abap_false - expanded = abap_true - headertext = `Apps with add. Javascript` + panel = page->panel( expandable = abap_false + expanded = abap_true + headertext = `Templating` ). - panel->generic_tile( - header = 'p13n Dialog' - subheader = 'Popup for F4 Helps' - press = client->_event( 'Z2UI5_CL_DEMO_APP_090' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Templating I' + subheader = 'Basic Example' + press = client->_event( 'Z2UI5_CL_DEMO_APP_173' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' +). + panel->generic_tile( header = 'Templating II' + subheader = 'Nested Views' + press = client->_event( 'Z2UI5_CL_DEMO_APP_176' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' +). - panel->generic_tile( - header = 'Upload Set' - subheader = '' - press = client->_event( 'Z2UI5_CL_DEMO_APP_107' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + page = page2->panel( expandable = abap_true + expanded = client->_bind_edit( ms_check_expanded-extensions ) + headertext = `Custom Extensions` ). - panel->generic_tile( - header = 'Smart Variant Management' - subheader = '' - press = client->_event( 'Z2UI5_CL_DEMO_APP_111' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + panel = page->panel( expandable = abap_false + expanded = abap_true + headertext = `General` + ). + + panel->generic_tile( header = 'Import View' + subheader = 'Copy & paste views of the UI5 Documentation' + press = client->_event( 'Z2UI5_CL_DEMO_APP_031' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). + + panel->generic_tile( header = 'Custom Control' + subheader = 'Integrate your own JS Custom Control' + press = client->_event( 'Z2UI5_CL_DEMO_APP_037' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). + + panel->generic_tile( header = 'Change CSS' + subheader = 'Send your own CSS to the frontend' + press = client->_event( 'Z2UI5_CL_DEMO_APP_050' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' ). - page = page2->panel( - expandable = abap_true - expanded = client->_bind_edit( ms_check_expanded-demos ) - headertext = `Demos` - ). - - page->generic_tile( - header = 'Selection Screen' - subheader = 'Explore Input Controls' - press = client->_event( 'Z2UI5_CL_DEMO_APP_002' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'HTML, JS, CSS' + subheader = 'Display normal HTML without UI5' + press = client->_event( 'Z2UI5_CL_DEMO_APP_032' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). - page->generic_tile( - header = 'Sample App' - subheader = 'Nested View, Object Page, App Navigation, Tables, Lists, Images, Progress & Rating Indicator' - press = client->_event( 'Z2UI5_CL_DEMO_APP_085' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Canvas & SVG' + subheader = 'Integrate more HTML5 functionalities' + press = client->_event( 'Z2UI5_CL_DEMO_APP_036' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). + panel->generic_tile( header = 'Ext. Library' + subheader = 'Load external JS libraries' + press = client->_event( 'Z2UI5_CL_DEMO_APP_040' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). - page = page2->panel( - expandable = abap_true - expanded = client->_bind_edit( ms_check_expanded-version ) - headertext = `UI5 Version Specific & WIP` - ). - - panel = page->panel( - expandable = abap_false - expanded = abap_true - headertext = `UI5-Only` - ). - - panel->message_strip( `Not working with OpenUI5...` ). - - panel->generic_tile( - header = 'Table with RadialMicroChart' - press = client->_event( 'Z2UI5_CL_DEMO_APP_177' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). - - panel->generic_tile( - header = 'Donut Chart' -* subheader = 'Use RTTI to send tables to the frontend' - press = client->_event( 'Z2UI5_CL_DEMO_APP_013' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). - - panel->generic_tile( - header = 'Line Chart' -* subheader = 'sap.ui.Table' - press = client->_event( 'Z2UI5_CL_DEMO_APP_014' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Custom Function' + subheader = 'Call imported function' + press = client->_event( 'Z2UI5_CL_DEMO_APP_093' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). - panel->generic_tile( - header = 'Bar Chart' -* subheader = 'sap.ui.Table' - press = client->_event( 'Z2UI5_CL_DEMO_APP_016' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel = page->panel( expandable = abap_false + expanded = abap_true + headertext = `Apps with add. Javascript` + ). - panel->generic_tile( - header = 'Radial Chart' -*subheader = 'sap.ui.Table' - press = client->_event( 'Z2UI5_CL_DEMO_APP_029' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). - - panel->generic_tile( - header = 'Gantt Chart' - press = client->_event( 'Z2UI5_CL_DEMO_APP_076' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'p13n Dialog' + subheader = 'Popup for F4 Helps' + press = client->_event( 'Z2UI5_CL_DEMO_APP_090' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). + panel->generic_tile( header = 'Upload Set' + subheader = '' + press = client->_event( 'Z2UI5_CL_DEMO_APP_107' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). - panel->generic_tile( - header = 'Process Flow' - press = client->_event( 'Z2UI5_CL_DEMO_APP_091' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + panel->generic_tile( header = 'Smart Variant Management' + subheader = '' + press = client->_event( 'Z2UI5_CL_DEMO_APP_111' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). + + page = page2->panel( expandable = abap_true + expanded = client->_bind_edit( ms_check_expanded-demos ) + headertext = `Demos` + ). + + page->generic_tile( header = 'Selection Screen' + subheader = 'Explore Input Controls' + press = client->_event( 'Z2UI5_CL_DEMO_APP_002' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' ). - panel->generic_tile( - header = 'Map Container' - press = client->_event( 'z2ui5_cl_demo_app_123' ) + page->generic_tile( + header = 'Sample App' + subheader = 'Nested View, Object Page, App Navigation, Tables, Lists, Images, Progress & Rating Indicator' + press = client->_event( 'Z2UI5_CL_DEMO_APP_085' ) mode = 'LineMode' class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' ). + page = page2->panel( expandable = abap_true + expanded = client->_bind_edit( ms_check_expanded-version ) + headertext = `UI5 Version Specific & WIP` + ). + + panel = page->panel( expandable = abap_false + expanded = abap_true + headertext = `UI5-Only` + ). - panel->generic_tile( - header = 'Timeline' - press = client->_event( 'Z2UI5_CL_DEMO_APP_113' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + panel->message_strip( `Not working with OpenUI5...` ). + + panel->generic_tile( header = 'Table with RadialMicroChart' + press = client->_event( 'Z2UI5_CL_DEMO_APP_177' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). + + panel->generic_tile( header = 'Donut Chart' +* subheader = 'Use RTTI to send tables to the frontend' + press = client->_event( 'Z2UI5_CL_DEMO_APP_013' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). + + panel->generic_tile( header = 'Line Chart' +* subheader = 'sap.ui.Table' + press = client->_event( 'Z2UI5_CL_DEMO_APP_014' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' ). - panel->generic_tile( - header = 'Network Graph' - press = client->_event( 'z2ui5_cl_demo_app_182' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' -). + panel->generic_tile( header = 'Bar Chart' +* subheader = 'sap.ui.Table' + press = client->_event( 'Z2UI5_CL_DEMO_APP_016' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). - panel->generic_tile( - header = 'Status Indicator Library' - subheader = `` - press = client->_event( 'Z2UI5_CL_DEMO_APP_196' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Radial Chart' +*subheader = 'sap.ui.Table' + press = client->_event( 'Z2UI5_CL_DEMO_APP_029' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). - panel = page->panel( - expandable = abap_false - expanded = abap_true - headertext = `Higher-Releases-Only` + panel->generic_tile( header = 'Gantt Chart' + press = client->_event( 'Z2UI5_CL_DEMO_APP_076' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' ). - panel->message_strip( `Only for newer UI5 releases....` ). + panel->generic_tile( header = 'Process Flow' + press = client->_event( 'Z2UI5_CL_DEMO_APP_091' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' +). - panel->generic_tile( - header = 'Generic Tag' - subheader = 'Since 1.70' - press = client->_event( 'z2ui5_cl_demo_app_062' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Map Container' + press = client->_event( 'z2ui5_cl_demo_app_123' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' +). + panel->generic_tile( header = 'Timeline' + press = client->_event( 'Z2UI5_CL_DEMO_APP_113' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' +). - panel->generic_tile( - header = 'Object Page with Avatar' - subheader = 'Since 1.73' - press = client->_event( 'Z2UI5_CL_DEMO_APP_017' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Network Graph' + press = client->_event( 'z2ui5_cl_demo_app_182' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' +). + panel->generic_tile( header = 'Status Indicator Library' + subheader = `` + press = client->_event( 'Z2UI5_CL_DEMO_APP_196' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' +). - panel->generic_tile( - header = 'Badge' - subheader = 'Since 1.80' - press = client->_event( 'z2ui5_cl_demo_app_063' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel = page->panel( expandable = abap_false + expanded = abap_true + headertext = `Higher-Releases-Only` +). - panel->generic_tile( - header = 'Illustrated Message' - subheader = 'Since 1.98' - press = client->_event( 'Z2UI5_CL_DEMO_APP_033' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->message_strip( `Only for newer UI5 releases....` ). + + panel->generic_tile( header = 'Generic Tag' + subheader = 'Since 1.70' + press = client->_event( 'z2ui5_cl_demo_app_062' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). + panel->generic_tile( header = 'Object Page with Avatar' + subheader = 'Since 1.73' + press = client->_event( 'Z2UI5_CL_DEMO_APP_017' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). - panel->generic_tile( - header = 'Barcode Scanner' - subheader = 'Since 1.102' - press = client->_event( 'z2ui5_cl_demo_app_124' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + panel->generic_tile( header = 'Badge' + subheader = 'Since 1.80' + press = client->_event( 'z2ui5_cl_demo_app_063' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' ). - panel->generic_tile( - header = 'Side Panel' - subheader = `Since 1.107` - press = client->_event( 'Z2UI5_CL_DEMO_APP_108' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel->generic_tile( header = 'Illustrated Message' + subheader = 'Since 1.98' + press = client->_event( 'Z2UI5_CL_DEMO_APP_033' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). + + panel->generic_tile( header = 'Barcode Scanner' + subheader = 'Since 1.102' + press = client->_event( 'z2ui5_cl_demo_app_124' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' +). + + panel->generic_tile( header = 'Side Panel' + subheader = `Since 1.107` + press = client->_event( 'Z2UI5_CL_DEMO_APP_108' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). * panel->generic_tile( * header = `Messaging` @@ -2102,74 +1821,66 @@ CLASS z2ui5_cl_demo_app_000 IMPLEMENTATION. * class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' * ). - panel = page->panel( - expandable = abap_false - expanded = abap_true - headertext = `For Testing only...` - ). - - panel->generic_tile( - header = 'Model I' - subheader = 'RTTI Data' - press = client->_event( 'Z2UI5_CL_DEMO_APP_191' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + panel = page->panel( expandable = abap_false + expanded = abap_true + headertext = `For Testing only...` ). - panel->generic_tile( - header = 'Model II' - subheader = 'RTTI Data' - press = client->_event( 'Z2UI5_CL_DEMO_APP_195' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + panel->generic_tile( header = 'Model I' + subheader = 'RTTI Data' + press = client->_event( 'Z2UI5_CL_DEMO_APP_191' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' ). - panel->generic_tile( - header = 'Model III' - subheader = 'RTTI Data' - press = client->_event( 'Z2UI5_CL_DEMO_APP_199' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + panel->generic_tile( header = 'Model II' + subheader = 'RTTI Data' + press = client->_event( 'Z2UI5_CL_DEMO_APP_195' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' ). - panel->generic_tile( - header = 'Date Format Error in internal table' - subheader = '' - press = client->_event( 'Z2UI5_CL_DEMO_APP_118' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + panel->generic_tile( header = 'Model III' + subheader = 'RTTI Data' + press = client->_event( 'Z2UI5_CL_DEMO_APP_199' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' ). - panel = page->panel( - expandable = abap_false - expanded = abap_true - headertext = `Work in Progress` - ). - panel->message_strip( `Give it a try....` ). + panel->generic_tile( header = 'Date Format Error in internal table' + subheader = '' + press = client->_event( 'Z2UI5_CL_DEMO_APP_118' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' +). - panel->generic_tile( - header = 'Gantt Chart with Relationships' - subheader = `` - press = client->_event( 'Z2UI5_CL_DEMO_APP_179' ) - mode = 'LineMode' - class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' - ). + panel = page->panel( expandable = abap_false + expanded = abap_true + headertext = `Work in Progress` +). + panel->message_strip( `Give it a try....` ). - client->view_display( page->stringify( ) ). + panel->generic_tile( header = 'Gantt Chart with Relationships' + subheader = `` + press = client->_event( 'Z2UI5_CL_DEMO_APP_179' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). - ENDMETHOD. + client->view_display( page->stringify( ) ). + ENDMETHOD. - METHOD expand_all. + METHOD expand_all. - DO. - ASSIGN COMPONENT sy-index OF STRUCTURE ms_check_expanded TO FIELD-SYMBOL(). - IF sy-subrc <> 0. - EXIT. - ENDIF. - = abap_true. - ENDDO. + DO. + ASSIGN COMPONENT sy-index OF STRUCTURE ms_check_expanded TO FIELD-SYMBOL(). + IF sy-subrc <> 0. + EXIT. + ENDIF. + = abap_true. + ENDDO. - ENDMETHOD. + ENDMETHOD. - ENDCLASS. +ENDCLASS. diff --git a/src/z2ui5_cl_demo_app_001.clas.abap b/src/z2ui5_cl_demo_app_001.clas.abap index 078e849b..c2c12cae 100644 --- a/src/z2ui5_cl_demo_app_001.clas.abap +++ b/src/z2ui5_cl_demo_app_001.clas.abap @@ -1,15 +1,13 @@ CLASS z2ui5_cl_demo_app_001 DEFINITION PUBLIC CREATE PUBLIC. PUBLIC SECTION. - INTERFACES z2ui5_if_app. - DATA product TYPE string. - DATA quantity TYPE string. + DATA product TYPE string. + DATA quantity TYPE string. DATA check_initialized TYPE abap_bool. PROTECTED SECTION. - DATA client TYPE REF TO z2ui5_if_client. METHODS z2ui5_set_data. @@ -17,6 +15,7 @@ CLASS z2ui5_cl_demo_app_001 DEFINITION PUBLIC CREATE PUBLIC. METHODS display_view IMPORTING client TYPE REF TO z2ui5_if_client. + METHODS on_event IMPORTING client TYPE REF TO z2ui5_if_client. @@ -25,7 +24,6 @@ CLASS z2ui5_cl_demo_app_001 DEFINITION PUBLIC CREATE PUBLIC. ENDCLASS. - CLASS z2ui5_cl_demo_app_001 IMPLEMENTATION. METHOD z2ui5_if_app~main. @@ -42,31 +40,29 @@ CLASS z2ui5_cl_demo_app_001 IMPLEMENTATION. ENDMETHOD. - METHOD display_view. - DATA(view) = z2ui5_cl_xml_view=>factory( ). - client->view_display( val = view->shell( - )->page( - title = 'abap2UI5 - First Example' - navbuttonpress = client->_event( 'BACK' ) - shownavbutton = xsdbool( client->get( )-s_draft-id_prev_app_stack IS NOT INITIAL ) - - )->simple_form( title = 'Form Title' editable = abap_true - )->content( 'form' - )->title( 'Input' - )->label( 'quantity' - )->input( client->_bind_edit( quantity ) - )->label( `product` - )->input( value = product enabled = abap_false - )->button( - text = 'post' - press = client->_event( val = 'BUTTON_POST' ) - )->stringify( ) ). + DATA(view) = z2ui5_cl_xml_view=>factory( ). + client->view_display( val = view->shell( + )->page( title = 'abap2UI5 - First Example' + navbuttonpress = client->_event( 'BACK' ) + shownavbutton = xsdbool( client->get( )-s_draft-id_prev_app_stack IS NOT INITIAL ) + + )->simple_form( title = 'Form Title' + editable = abap_true + )->content( 'form' + )->title( 'Input' + )->label( 'quantity' + )->input( client->_bind_edit( quantity ) + )->label( `product` + )->input( value = product + enabled = abap_false + )->button( text = 'post' + press = client->_event( val = 'BUTTON_POST' ) + )->stringify( ) ). ENDMETHOD. - METHOD on_event. CASE client->get( )-event. @@ -78,11 +74,11 @@ CLASS z2ui5_cl_demo_app_001 IMPLEMENTATION. ENDMETHOD. - METHOD z2ui5_set_data. - product = 'products'. - quantity = '500'. + product = 'products'. + quantity = '500'. ENDMETHOD. + ENDCLASS. diff --git a/src/z2ui5_cl_demo_app_002.clas.abap b/src/z2ui5_cl_demo_app_002.clas.abap index d3931c8e..aa153d5b 100644 --- a/src/z2ui5_cl_demo_app_002.clas.abap +++ b/src/z2ui5_cl_demo_app_002.clas.abap @@ -1,7 +1,6 @@ CLASS z2ui5_cl_demo_app_002 DEFINITION PUBLIC. PUBLIC SECTION. - INTERFACES z2ui5_if_app. DATA: @@ -24,6 +23,7 @@ CLASS z2ui5_cl_demo_app_002 DEFINITION PUBLIC. value TYPE string, descr TYPE string, END OF s_suggestion_items. + DATA mt_suggestion TYPE STANDARD TABLE OF s_suggestion_items WITH EMPTY KEY. TYPES: @@ -34,14 +34,11 @@ CLASS z2ui5_cl_demo_app_002 DEFINITION PUBLIC. TYPES ty_t_combo TYPE STANDARD TABLE OF s_combobox WITH EMPTY KEY. - - DATA check_initialized TYPE abap_bool. - DATA client TYPE REF TO z2ui5_if_client. + DATA client TYPE REF TO z2ui5_if_client. PROTECTED SECTION. - METHODS z2ui5_on_rendering. METHODS z2ui5_on_event. METHODS z2ui5_on_init. @@ -50,10 +47,8 @@ CLASS z2ui5_cl_demo_app_002 DEFINITION PUBLIC. ENDCLASS. - CLASS z2ui5_cl_demo_app_002 IMPLEMENTATION. - METHOD z2ui5_if_app~main. me->client = client. @@ -69,23 +64,29 @@ CLASS z2ui5_cl_demo_app_002 IMPLEMENTATION. ENDMETHOD. - METHOD z2ui5_on_event. CASE client->get( )-event. WHEN 'BUTTON_MCONFIRM'. - client->message_box_display( type = 'confirm' text = 'Confirm MessageBox' ). + client->message_box_display( type = 'confirm' + text = 'Confirm MessageBox' ). WHEN 'BUTTON_MALERT'. - client->message_box_display( type = 'alert' text = 'Alert MessageBox' ). + client->message_box_display( type = 'alert' + text = 'Alert MessageBox' ). WHEN 'BUTTON_MERROR'. - client->message_box_display( type = 'error' text = 'Error MessageBox' ). + client->message_box_display( type = 'error' + text = 'Error MessageBox' ). WHEN 'BUTTON_MINFO'. - client->message_box_display( type = 'information' text = 'Information MessageBox' ). + client->message_box_display( type = 'information' + text = 'Information MessageBox' ). WHEN 'BUTTON_MWARNING'. - client->message_box_display( type = 'warning' text = 'Warning MessageBox' ). + client->message_box_display( type = 'warning' + text = 'Warning MessageBox' ). WHEN 'BUTTON_MSUCCESS'. - client->message_box_display( type = 'success' text = 'Success MessageBox' icon = `sap-icon://accept` ). + client->message_box_display( type = 'success' + text = 'Success MessageBox' + icon = `sap-icon://accept` ). WHEN 'BUTTON_SEND'. client->message_box_display( 'success - values send to the server' ). WHEN 'BUTTON_CLEAR'. @@ -98,59 +99,54 @@ CLASS z2ui5_cl_demo_app_002 IMPLEMENTATION. ENDMETHOD. - METHOD z2ui5_on_init. - screen = VALUE #( - check_is_active = abap_true - colour = 'BLUE' - combo_key = 'GRAY' - segment_key = 'GREEN' - date = '07.12.22' - date_time = '23.12.2022, 19:27:20' - time_start = '05:24:00' - time_end = '17:23:57'). - - mt_suggestion = VALUE #( - ( descr = 'Green' value = 'GREEN' ) - ( descr = 'Blue' value = 'BLUE' ) - ( descr = 'Black' value = 'BLACK' ) - ( descr = 'Gray' value = 'GRAY' ) - ( descr = 'Blue2' value = 'BLUE2' ) - ( descr = 'Blue3' value = 'BLUE3' ) ). + screen = VALUE #( check_is_active = abap_true + colour = 'BLUE' + combo_key = 'GRAY' + segment_key = 'GREEN' + date = '07.12.22' + date_time = '23.12.2022, 19:27:20' + time_start = '05:24:00' + time_end = '17:23:57' ). + + mt_suggestion = VALUE #( ( descr = 'Green' value = 'GREEN' ) + ( descr = 'Blue' value = 'BLUE' ) + ( descr = 'Black' value = 'BLACK' ) + ( descr = 'Gray' value = 'GRAY' ) + ( descr = 'Blue2' value = 'BLUE2' ) + ( descr = 'Blue3' value = 'BLUE3' ) ). ENDMETHOD. - METHOD z2ui5_on_rendering. DATA(view) = z2ui5_cl_xml_view=>factory( ). DATA(page) = view->shell( - )->page( - showheader = xsdbool( abap_false = client->get( )-check_launchpad_active ) - title = 'abap2UI5 - Selection-Screen Example' - navbuttonpress = client->_event( 'BACK' ) - shownavbutton = xsdbool( client->get( )-s_draft-id_prev_app_stack IS NOT INITIAL ) + )->page( showheader = xsdbool( abap_false = client->get( )-check_launchpad_active ) + title = 'abap2UI5 - Selection-Screen Example' + navbuttonpress = client->_event( 'BACK' ) + shownavbutton = xsdbool( client->get( )-s_draft-id_prev_app_stack IS NOT INITIAL ) ). DATA(grid) = page->grid( 'L6 M12 S12' )->content( 'layout' ). - grid->simple_form( title = 'Input' editable = abap_true + grid->simple_form( title = 'Input' + editable = abap_true )->content( 'form' )->label( 'Input with suggestion items' - )->input( - id = `suggInput` - value = client->_bind_edit( screen-colour ) - placeholder = 'Fill in your favorite color' - suggestionitems = client->_bind( mt_suggestion ) - showsuggestion = abap_true )->get( + )->input( id = `suggInput` + value = client->_bind_edit( screen-colour ) + placeholder = 'Fill in your favorite color' + suggestionitems = client->_bind( mt_suggestion ) + showsuggestion = abap_true )->get( )->suggestion_items( )->get( - )->list_item( - text = '{VALUE}' - additionaltext = '{DESCR}' ). + )->list_item( text = '{VALUE}' + additionaltext = '{DESCR}' ). - grid->simple_form( title = 'Time Inputs' editable = abap_true + grid->simple_form( title = 'Time Inputs' + editable = abap_true )->content( 'form' )->label( 'Date' )->date_picker( client->_bind_edit( screen-date ) @@ -160,91 +156,77 @@ CLASS z2ui5_cl_demo_app_002 IMPLEMENTATION. )->time_picker( client->_bind_edit( screen-time_start ) )->time_picker( client->_bind_edit( screen-time_end ) ). - DATA(form) = grid->get_parent( )->get_parent( )->grid( 'L12 M12 S12' )->content( 'layout' - )->simple_form( title = 'Input with select options' editable = abap_true + )->simple_form( title = 'Input with select options' + editable = abap_true )->content( 'form' ). DATA(lv_test) = form->label( 'Checkbox' - )->checkbox( - selected = client->_bind_edit( screen-check_is_active ) - text = 'this is a checkbox' - enabled = abap_true ). + )->checkbox( selected = client->_bind_edit( screen-check_is_active ) + text = 'this is a checkbox' + enabled = abap_true ). lv_test->label( 'Combobox' - )->combobox( - selectedkey = client->_bind_edit( screen-combo_key ) - items = client->_bind_local( VALUE ty_t_combo( - ( key = 'BLUE' text = 'green' ) - ( key = 'GREEN' text = 'blue' ) - ( key = 'BLACK' text = 'red' ) - ( key = 'GRAY' text = 'gray' ) ) ) - )->item( - key = '{KEY}' - text = '{TEXT}' + )->combobox( selectedkey = client->_bind_edit( screen-combo_key ) + items = client->_bind_local( VALUE ty_t_combo( ( key = 'BLUE' text = 'green' ) + ( key = 'GREEN' text = 'blue' ) + ( key = 'BLACK' text = 'red' ) + ( key = 'GRAY' text = 'gray' ) ) ) + )->item( key = '{KEY}' + text = '{TEXT}' )->get_parent( )->get_parent( ). lv_test->label( 'Combobox2' - )->combobox( - selectedkey = client->_bind_edit( screen-combo_key2 ) - items = client->_bind_local( VALUE ty_t_combo( - ( key = 'BLUE' text = 'green' ) - ( key = 'GREEN' text = 'blue' ) - ( key = 'BLACK' text = 'red' ) - ( key = 'GRAY' text = 'gray' ) ) ) - )->item( - key = '{KEY}' - text = '{TEXT}' + )->combobox( selectedkey = client->_bind_edit( screen-combo_key2 ) + items = client->_bind_local( VALUE ty_t_combo( ( key = 'BLUE' text = 'green' ) + ( key = 'GREEN' text = 'blue' ) + ( key = 'BLACK' text = 'red' ) + ( key = 'GRAY' text = 'gray' ) ) ) + )->item( key = '{KEY}' + text = '{TEXT}' )->get_parent( )->get_parent( ). lv_test->label( 'Segmented Button' )->segmented_button( selected_key = client->_bind_edit( screen-segment_key ) )->items( - )->segmented_button_item( - key = 'BLUE' - icon = 'sap-icon://accept' - text = 'blue' - )->segmented_button_item( - key = 'GREEN' - icon = 'sap-icon://add-favorite' - text = 'green' - )->segmented_button_item( - key = 'BLACK' - icon = 'sap-icon://attachment' - text = 'black' + )->segmented_button_item( key = 'BLUE' + icon = 'sap-icon://accept' + text = 'blue' + )->segmented_button_item( key = 'GREEN' + icon = 'sap-icon://add-favorite' + text = 'green' + )->segmented_button_item( key = 'BLACK' + icon = 'sap-icon://attachment' + text = 'black' )->get_parent( )->get_parent( )->label( 'Switch disabled' - )->switch( - enabled = abap_false - customtexton = 'A' - customtextoff = 'B' + )->switch( enabled = abap_false + customtexton = 'A' + customtextoff = 'B' )->label( 'Switch accept/reject' - )->switch( - state = client->_bind_edit( screen-check_switch_01 ) - customtexton = 'on' - customtextoff = 'off' - type = 'AcceptReject' + )->switch( state = client->_bind_edit( screen-check_switch_01 ) + customtexton = 'on' + customtextoff = 'off' + type = 'AcceptReject' )->label( 'Switch normal' - )->switch( - state = client->_bind_edit( screen-check_switch_02 ) - customtexton = 'YES' - customtextoff = 'NO' ). + )->switch( state = client->_bind_edit( screen-check_switch_02 ) + customtexton = 'YES' + customtextoff = 'NO' ). page->footer( )->overflow_toolbar( )->toolbar_spacer( - )->button( - text = 'Clear' - press = client->_event( 'BUTTON_CLEAR' ) - type = 'Reject' - icon = 'sap-icon://delete' - )->button( - text = 'Send to Server' - press = client->_event( 'BUTTON_SEND' ) - type = 'Success' ). + )->button( text = 'Clear' + press = client->_event( 'BUTTON_CLEAR' ) + type = 'Reject' + icon = 'sap-icon://delete' + )->button( text = 'Send to Server' + press = client->_event( 'BUTTON_SEND' ) + type = 'Success' ). client->view_display( page->stringify( ) ). ENDMETHOD. + ENDCLASS. diff --git a/src/z2ui5_cl_demo_app_003.clas.abap b/src/z2ui5_cl_demo_app_003.clas.abap index 7df5d346..f4e8ece0 100644 --- a/src/z2ui5_cl_demo_app_003.clas.abap +++ b/src/z2ui5_cl_demo_app_003.clas.abap @@ -1,7 +1,6 @@ -CLASS Z2UI5_CL_DEMO_APP_003 DEFINITION PUBLIC. +CLASS z2ui5_cl_demo_app_003 DEFINITION PUBLIC. PUBLIC SECTION. - INTERFACES Z2UI5_if_app. TYPES: @@ -15,51 +14,49 @@ CLASS Z2UI5_CL_DEMO_APP_003 DEFINITION PUBLIC. checkbox TYPE abap_bool, END OF ty_row. - DATA t_tab TYPE STANDARD TABLE OF ty_row WITH EMPTY KEY. + DATA t_tab TYPE STANDARD TABLE OF ty_row WITH EMPTY KEY. DATA check_initialized TYPE abap_bool. PROTECTED SECTION. + PRIVATE SECTION. ENDCLASS. - -CLASS Z2UI5_CL_DEMO_APP_003 IMPLEMENTATION. - +CLASS z2ui5_cl_demo_app_003 IMPLEMENTATION. METHOD Z2UI5_if_app~main. IF check_initialized = abap_false. check_initialized = abap_true. - t_tab = VALUE #( - ( title = 'row_01' info = 'completed' descr = 'this is a description' icon = 'sap-icon://account' ) - ( title = 'row_02' info = 'incompleted' descr = 'this is a description' icon = 'sap-icon://account' ) - ( title = 'row_03' info = 'working' descr = 'this is a description' icon = 'sap-icon://account' ) - ( title = 'row_04' info = 'working' descr = 'this is a description' icon = 'sap-icon://account' ) - ( title = 'row_05' info = 'completed' descr = 'this is a description' icon = 'sap-icon://account' ) - ( title = 'row_06' info = 'completed' descr = 'this is a description' icon = 'sap-icon://account' ) - ). + t_tab = VALUE #( descr = 'this is a description' + icon = 'sap-icon://account' + ( title = 'row_01' info = 'completed' ) + ( title = 'row_02' info = 'incompleted' ) + ( title = 'row_03' info = 'working' ) + ( title = 'row_04' info = 'working' ) + ( title = 'row_05' info = 'completed' ) + ( title = 'row_06' info = 'completed' ) ). DATA(view) = z2ui5_cl_xml_view=>factory( ). DATA(page) = view->shell( - )->page( - title = 'abap2UI5 - List' - navbuttonpress = client->_event( 'BACK' ) - shownavbutton = xsdbool( client->get( )-s_draft-id_prev_app_stack IS NOT INITIAL ) ). + )->page( title = 'abap2UI5 - List' + navbuttonpress = client->_event( 'BACK' ) + shownavbutton = xsdbool( client->get( )-s_draft-id_prev_app_stack IS NOT INITIAL ) ). page->list( - headertext = 'List Ouput' - items = client->_bind_edit( t_tab ) - mode = `SingleSelectMaster` - selectionchange = client->_event( 'SELCHANGE' ) - )->standard_list_item( - title = '{TITLE}' - description = '{DESCR}' - icon = '{ICON}' - info = '{INFO}' - press = client->_event( 'TEST' ) - selected = `{SELECTED}` + " TODO: check spelling: Ouput (typo) -> Output (ABAP cleaner) + headertext = 'List Ouput' + items = client->_bind_edit( t_tab ) + mode = `SingleSelectMaster` + selectionchange = client->_event( 'SELCHANGE' ) + )->standard_list_item( title = '{TITLE}' + description = '{DESCR}' + icon = '{ICON}' + info = '{INFO}' + press = client->_event( 'TEST' ) + selected = `{SELECTED}` ). client->view_display( view->stringify( ) ). @@ -69,11 +66,12 @@ CLASS Z2UI5_CL_DEMO_APP_003 IMPLEMENTATION. CASE client->get( )-event. WHEN 'SELCHANGE'. - client->message_box_display( `go to details for item ` && t_tab[ selected = abap_true ]-title ). + client->message_box_display( |go to details for item { t_tab[ selected = abap_true ]-title }| ). WHEN 'BACK'. client->nav_app_leave( ). ENDCASE. ENDMETHOD. + ENDCLASS. diff --git a/src/z2ui5_cl_demo_app_004.clas.abap b/src/z2ui5_cl_demo_app_004.clas.abap index 24318333..1d166f7c 100644 --- a/src/z2ui5_cl_demo_app_004.clas.abap +++ b/src/z2ui5_cl_demo_app_004.clas.abap @@ -1,25 +1,23 @@ CLASS z2ui5_cl_demo_app_004 DEFINITION PUBLIC. PUBLIC SECTION. - INTERFACES z2ui5_if_app. + DATA check_initialized TYPE abap_bool. - DATA mv_view_main TYPE string. + DATA mv_view_main TYPE string. PROTECTED SECTION. - METHODS z2ui5_view_main_display. METHODS z2ui5_view_second_display. + DATA client TYPE REF TO z2ui5_if_client. PRIVATE SECTION. ENDCLASS. - CLASS z2ui5_cl_demo_app_004 IMPLEMENTATION. - METHOD z2ui5_if_app~main. me->client = client. @@ -48,6 +46,7 @@ CLASS z2ui5_cl_demo_app_004 IMPLEMENTATION. ENDCASE. WHEN 'BUTTON_ERROR'. + " TODO: variable is assigned but never used (ABAP cleaner) DATA(lv_dummy) = 1 / 0. WHEN 'BACK'. @@ -57,62 +56,55 @@ CLASS z2ui5_cl_demo_app_004 IMPLEMENTATION. ENDMETHOD. - METHOD z2ui5_view_main_display. mv_view_main = 'MAIN'. DATA(view) = z2ui5_cl_xml_view=>factory( ). DATA(page) = view->shell( - )->page( - title = 'abap2UI5 - Controller' - navbuttonpress = client->_event( val = 'BACK' ) - shownavbutton = xsdbool( client->get( )-s_draft-id_prev_app_stack IS NOT INITIAL ) + )->page( title = 'abap2UI5 - Controller' + navbuttonpress = client->_event( val = 'BACK' ) + shownavbutton = xsdbool( client->get( )-s_draft-id_prev_app_stack IS NOT INITIAL ) ). page->grid( 'L6 M12 S12' )->content( 'layout' - )->simple_form( title = 'Controller' editable = abap_true )->content( 'form' + )->simple_form( title = 'Controller' + editable = abap_true )->content( 'form' )->label( 'Roundtrip' - )->button( - text = 'Client/Server Interaction' - press = client->_event( 'BUTTON_ROUNDTRIP' ) + )->button( text = 'Client/Server Interaction' + press = client->_event( 'BUTTON_ROUNDTRIP' ) )->label( 'System' - )->button( - text = 'Restart App' - press = client->_event( 'BUTTON_RESTART' ) + )->button( text = 'Restart App' + press = client->_event( 'BUTTON_RESTART' ) )->label( 'Change View' - )->button( - text = 'Display View SECOND' - press = client->_event( 'BUTTON_CHANGE_VIEW' ) + )->button( text = 'Display View SECOND' + press = client->_event( 'BUTTON_CHANGE_VIEW' ) )->label( 'CX_SY_ZERO_DIVIDE' - )->button( - text = 'Error not catched by the user' - press = client->_event( 'BUTTON_ERROR' ) ). + )->button( text = 'Error not catched by the user' + press = client->_event( 'BUTTON_ERROR' ) ). client->view_display( view->stringify( ) ). ENDMETHOD. - METHOD z2ui5_view_second_display. mv_view_main = 'SECOND'. DATA(view) = z2ui5_cl_xml_view=>factory( ). - DATA(page) = view->shell( )->page( - title = 'abap2UI5 - Controller' - navbuttonpress = client->_event( 'BACK' ) - shownavbutton = abap_true + DATA(page) = view->shell( )->page( title = 'abap2UI5 - Controller' + navbuttonpress = client->_event( 'BACK' ) + shownavbutton = abap_true ). page->grid( 'L12 M12 S12' )->content( 'layout' )->simple_form( 'View Second' )->content( 'form' )->label( 'Change View' - )->button( - text = 'Display View MAIN' - press = client->_event( 'BUTTON_CHANGE_VIEW' ) ). + )->button( text = 'Display View MAIN' + press = client->_event( 'BUTTON_CHANGE_VIEW' ) ). client->view_display( view->stringify( ) ). ENDMETHOD. + ENDCLASS. diff --git a/src/z2ui5_cl_demo_app_005.clas.abap b/src/z2ui5_cl_demo_app_005.clas.abap index 06cfb506..cb9a6510 100644 --- a/src/z2ui5_cl_demo_app_005.clas.abap +++ b/src/z2ui5_cl_demo_app_005.clas.abap @@ -1,22 +1,20 @@ CLASS z2ui5_cl_demo_app_005 DEFINITION PUBLIC. PUBLIC SECTION. - INTERFACES z2ui5_if_app. - DATA value1 TYPE int4. - DATA value2 TYPE int4. + DATA value1 TYPE int4. + DATA value2 TYPE int4. DATA initialized TYPE abap_bool. PROTECTED SECTION. + PRIVATE SECTION. ENDCLASS. - CLASS z2ui5_cl_demo_app_005 IMPLEMENTATION. - METHOD z2ui5_if_app~main. IF initialized = abap_false. @@ -32,37 +30,38 @@ CLASS z2ui5_cl_demo_app_005 IMPLEMENTATION. WHEN 'SLIDER_CHANGE'. - client->message_toast_display( |Range Slider { cl_abap_char_utilities=>newline }value1 { value1 } { cl_abap_char_utilities=>newline }value2 { value2 }| ). + client->message_toast_display( + |Range Slider { cl_abap_char_utilities=>newline }value1 { value1 } { cl_abap_char_utilities=>newline }value2 { value2 }| ). ENDCASE. DATA(view) = z2ui5_cl_xml_view=>factory( ). DATA(page) = view->shell( - )->page( - title = 'abap2UI5 - Range Slider Example' - navbuttonpress = client->_event( 'BACK' ) + )->page( title = 'abap2UI5 - Range Slider Example' + navbuttonpress = client->_event( 'BACK' ) shownavbutton = xsdbool( client->get( )-s_draft-id_prev_app_stack IS NOT INITIAL ) ). DATA(grid) = page->grid( 'L12 M12 S12' )->content( 'layout' ). - grid->simple_form( title = 'More Controls' editable = abap_true )->content( 'form' + grid->simple_form( title = 'More Controls' + editable = abap_true )->content( 'form' )->label( 'Range Slider' - )->range_slider( - max = '100' - min = '0' - step = '10' - startvalue = '10' - endvalue = '20' - showtickmarks = abap_true - labelinterval = '2' - width = '80%' - class = 'sapUiTinyMargin' - value = client->_bind_edit( value1 ) - value2 = client->_bind_edit( value2 ) - change = client->_event( 'SLIDER_CHANGE' ) + )->range_slider( max = '100' + min = '0' + step = '10' + startvalue = '10' + endvalue = '20' + showtickmarks = abap_true + labelinterval = '2' + width = '80%' + class = 'sapUiTinyMargin' + value = client->_bind_edit( value1 ) + value2 = client->_bind_edit( value2 ) + change = client->_event( 'SLIDER_CHANGE' ) ). client->view_display( view->stringify( ) ). ENDMETHOD. + ENDCLASS. diff --git a/src/z2ui5_cl_demo_app_006.clas.abap b/src/z2ui5_cl_demo_app_006.clas.abap index 82271b78..b37c611d 100644 --- a/src/z2ui5_cl_demo_app_006.clas.abap +++ b/src/z2ui5_cl_demo_app_006.clas.abap @@ -1,50 +1,49 @@ CLASS z2ui5_cl_demo_app_006 DEFINITION PUBLIC. PUBLIC SECTION. - INTERFACES z2ui5_if_app. TYPES: BEGIN OF ty_row, - count TYPE i, - value TYPE string, - descr TYPE string, - icon TYPE string, - info TYPE string, - checkbox TYPE abap_bool, - percentage(5) TYPE p DECIMALS 2, - valuecolor TYPE string, + count TYPE i, + value TYPE string, + descr TYPE string, + icon TYPE string, + info TYPE string, + checkbox TYPE abap_bool, + percentage TYPE p LENGTH 5 DECIMALS 2, + valuecolor TYPE string, END OF ty_row. - DATA t_tab TYPE STANDARD TABLE OF ty_row WITH EMPTY KEY. + DATA t_tab TYPE STANDARD TABLE OF ty_row WITH EMPTY KEY. DATA check_initialized TYPE abap_bool. - DATA check_ui5 TYPE abap_bool. - DATA mv_key TYPE string. + DATA check_ui5 TYPE abap_bool. + DATA mv_key TYPE string. + METHODS refresh_data. PROTECTED SECTION. + PRIVATE SECTION. ENDCLASS. CLASS z2ui5_cl_demo_app_006 IMPLEMENTATION. - METHOD refresh_data. DO 10000 TIMES. DATA ls_row TYPE ty_row. - ls_row-count = sy-index. - ls_row-value = 'red'. - ls_row-descr = 'this is a description'. - ls_row-checkbox = abap_true. + ls_row-count = sy-index. + ls_row-value = 'red'. + ls_row-descr = 'this is a description'. + ls_row-checkbox = abap_true. ls_row-valuecolor = `Good`. INSERT ls_row INTO TABLE t_tab. ENDDO. ENDMETHOD. - METHOD z2ui5_if_app~main. IF check_initialized = abap_false. @@ -69,45 +68,39 @@ CLASS z2ui5_cl_demo_app_006 IMPLEMENTATION. DATA(view) = z2ui5_cl_xml_view=>factory( ). DATA(page) = view->shell( - )->page( - title = 'abap2UI5 - Scroll Container with Table and Toolbar' - navbuttonpress = client->_event( 'BACK' ) - shownavbutton = xsdbool( client->get( )-s_draft-id_prev_app_stack IS NOT INITIAL ) + )->page( title = 'abap2UI5 - Scroll Container with Table and Toolbar' + navbuttonpress = client->_event( 'BACK' ) + shownavbutton = xsdbool( client->get( )-s_draft-id_prev_app_stack IS NOT INITIAL ) ). - DATA(tab) = page->scroll_container( height = '70%' vertical = abap_true - )->table( - growing = abap_true - growingthreshold = '20' - growingscrolltoload = abap_true - items = client->_bind_edit( t_tab ) - sticky = 'ColumnHeaders,HeaderToolbar' ). + DATA(tab) = page->scroll_container( height = '70%' + vertical = abap_true + )->table( growing = abap_true + growingthreshold = '20' + growingscrolltoload = abap_true + items = client->_bind_edit( t_tab ) + sticky = 'ColumnHeaders,HeaderToolbar' ). tab->header_toolbar( )->toolbar( )->title( 'title of the table' - )->button( - text = 'letf side button' - icon = 'sap-icon://account' - press = client->_event( 'BUTTON_SORT' ) + )->button( text = 'letf side button' + icon = 'sap-icon://account' + press = client->_event( 'BUTTON_SORT' ) )->segmented_button( selected_key = mv_key )->items( - )->segmented_button_item( - key = 'BLUE' - icon = 'sap-icon://accept' - text = 'blue' - )->segmented_button_item( - key = 'GREEN' - icon = 'sap-icon://add-favorite' - text = 'green' + )->segmented_button_item( key = 'BLUE' + icon = 'sap-icon://accept' + text = 'blue' + )->segmented_button_item( key = 'GREEN' + icon = 'sap-icon://add-favorite' + text = 'green' )->get_parent( )->get_parent( )->toolbar_spacer( - )->button( - icon = 'sap-icon://sort-descending' - press = client->_event( 'SORT_DESCENDING' ) - )->button( - icon = 'sap-icon://sort-ascending' - press = client->_event( 'SORT_ASCENDING' ) + )->button( icon = 'sap-icon://sort-descending' + press = client->_event( 'SORT_DESCENDING' ) + )->button( icon = 'sap-icon://sort-ascending' + press = client->_event( 'SORT_ASCENDING' ) ). tab->columns( @@ -128,11 +121,13 @@ CLASS z2ui5_cl_demo_app_006 IMPLEMENTATION. )->text( '{VALUE}' )->text( '{INFO}' )->text( '{DESCR}' - )->checkbox( selected = '{CHECKBOX}' enabled = abap_false + )->checkbox( selected = '{CHECKBOX}' + enabled = abap_false )->text( '{COUNT}' ). client->view_display( view->stringify( ) ). ENDMETHOD. + ENDCLASS. diff --git a/src/z2ui5_cl_demo_app_008.clas.abap b/src/z2ui5_cl_demo_app_008.clas.abap index 9fb43949..f734cafc 100644 --- a/src/z2ui5_cl_demo_app_008.clas.abap +++ b/src/z2ui5_cl_demo_app_008.clas.abap @@ -1,50 +1,57 @@ CLASS z2ui5_cl_demo_app_008 DEFINITION PUBLIC. PUBLIC SECTION. - INTERFACES Z2UI5_if_app. DATA check_strip_active TYPE abap_bool. - DATA strip_type TYPE string. + DATA strip_type TYPE string. PROTECTED SECTION. + PRIVATE SECTION. ENDCLASS. - CLASS z2ui5_cl_demo_app_008 IMPLEMENTATION. - METHOD Z2UI5_if_app~main. CASE client->get( )-event. WHEN 'BUTTON_MESSAGE_BOX_CONFIRM'. - client->message_box_display( text = 'Approve purchase order 12345?' type = 'confirm' ). + client->message_box_display( text = 'Approve purchase order 12345?' + type = 'confirm' ). WHEN 'BUTTON_MESSAGE_BOX_ALERT'. - client->message_box_display( text = 'The quantity you have reported exceeds the quantity planned.' type = 'alert' ). + client->message_box_display( text = 'The quantity you have reported exceeds the quantity planned.' + type = 'alert' ). WHEN 'BUTTON_MESSAGE_BOX_ERROR'. - client->message_box_display( text = 'Select a team in the "Development" area.' && cl_abap_char_utilities=>cr_lf && - '"Marketing" isn’t assigned to this area.' type = 'error' ). + client->message_box_display( + text = |Select a team in the "Development" area.{ cl_abap_char_utilities=>cr_lf }| && + |"Marketing" isn’t assigned to this area.| + type = 'error' ). WHEN 'BUTTON_MESSAGE_BOX_INFO'. client->message_box_display( 'Your booking will be reserved for 24 hours.' ). WHEN 'BUTTON_MESSAGE_BOX_WARNING'. - client->message_box_display( text = 'The project schedule was last updated over a year ago.' type = 'warning' ). + client->message_box_display( text = 'The project schedule was last updated over a year ago.' + type = 'warning' ). WHEN 'BUTTON_MESSAGE_BOX_SUCCESS'. - client->message_box_display( text = 'Project 1234567 was created and assigned to team "ABC".' type = 'success' ). + client->message_box_display( text = 'Project 1234567 was created and assigned to team "ABC".' + type = 'success' ). WHEN 'BUTTON_MESSAGE_TOAST'. client->message_toast_display( 'this is a message toast' ). WHEN 'BUTTON_MESSAGE_TOAST2'. - client->message_toast_display( text = 'this is a message toast' at = 'left bottom' - offset = '0 -15' animationtimingfunction = `ease-in` class = 'my-style'). + client->message_toast_display( text = 'this is a message toast' + at = 'left bottom' + offset = '0 -15' + animationtimingfunction = `ease-in` + class = 'my-style' ). WHEN 'BUTTON_MESSAGE_STRIP_INFO'. check_strip_active = abap_true. @@ -64,67 +71,58 @@ CLASS z2ui5_cl_demo_app_008 IMPLEMENTATION. ENDCASE. DATA(view) = z2ui5_cl_xml_view=>factory( ). - view->_generic( ns = `html` name = `style` )->_cc_plain_xml( `.my-style{ background: black !important; opacity: 0.6; color: white; }` ). + view->_generic( ns = `html` + name = `style` )->_cc_plain_xml( + `.my-style{ background: black !important; opacity: 0.6; color: white; }` ). DATA(page) = view->shell( - )->page( - title = 'abap2UI5 - Messages' - navbuttonpress = client->_event( 'BACK' ) - shownavbutton = abap_true + )->page( title = 'abap2UI5 - Messages' + navbuttonpress = client->_event( 'BACK' ) + shownavbutton = abap_true )->header_content( )->link( )->get_parent( ). IF check_strip_active = abap_true. - page->message_strip( text = 'This is a Message Strip' type = strip_type ). + page->message_strip( text = 'This is a Message Strip' + type = strip_type ). ENDIF. page->grid( 'L6 M12 S12' )->content( 'layout' )->simple_form( 'Message Box' )->content( 'form' - )->button( - text = 'Confirm' - press = client->_event( 'BUTTON_MESSAGE_BOX_CONFIRM' ) - )->button( - text = 'Alert' - press = client->_event( 'BUTTON_MESSAGE_BOX_ALERT' ) - )->button( - text = 'Error' - press = client->_event( 'BUTTON_MESSAGE_BOX_ERROR' ) - )->button( - text = 'Info' - press = client->_event( 'BUTTON_MESSAGE_BOX_INFO' ) - )->button( - text = 'Warning' - press = client->_event( 'BUTTON_MESSAGE_BOX_WARNING' ) - )->button( - text = 'Success' - press = client->_event( 'BUTTON_MESSAGE_BOX_SUCCESS' ) ). + )->button( text = 'Confirm' + press = client->_event( 'BUTTON_MESSAGE_BOX_CONFIRM' ) + )->button( text = 'Alert' + press = client->_event( 'BUTTON_MESSAGE_BOX_ALERT' ) + )->button( text = 'Error' + press = client->_event( 'BUTTON_MESSAGE_BOX_ERROR' ) + )->button( text = 'Info' + press = client->_event( 'BUTTON_MESSAGE_BOX_INFO' ) + )->button( text = 'Warning' + press = client->_event( 'BUTTON_MESSAGE_BOX_WARNING' ) + )->button( text = 'Success' + press = client->_event( 'BUTTON_MESSAGE_BOX_SUCCESS' ) ). page->grid( 'L6 M12 S12' )->content( 'layout' )->simple_form( 'Message Strip' )->content( 'form' - )->button( - text = 'success' - press = client->_event( 'BUTTON_MESSAGE_STRIP_SUCCESS' ) - )->button( - text = 'error' - press = client->_event( 'BUTTON_MESSAGE_STRIP_ERROR' ) - )->button( - text = 'information' - press = client->_event( 'BUTTON_MESSAGE_STRIP_INFO' ) ). + )->button( text = 'success' + press = client->_event( 'BUTTON_MESSAGE_STRIP_SUCCESS' ) + )->button( text = 'error' + press = client->_event( 'BUTTON_MESSAGE_STRIP_ERROR' ) + )->button( text = 'information' + press = client->_event( 'BUTTON_MESSAGE_STRIP_INFO' ) ). page->grid( 'L6 M12 S12' )->content( 'layout' )->simple_form( 'Display' )->content( 'form' - )->button( - text = 'Message Toast' - press = client->_event( 'BUTTON_MESSAGE_TOAST' ) - )->button( - text = 'Message Toast Customized' - press = client->_event( 'BUTTON_MESSAGE_TOAST2' ) ). - + )->button( text = 'Message Toast' + press = client->_event( 'BUTTON_MESSAGE_TOAST' ) + )->button( text = 'Message Toast Customized' + press = client->_event( 'BUTTON_MESSAGE_TOAST2' ) ). client->view_display( view->stringify( ) ). ENDMETHOD. + ENDCLASS. diff --git a/src/z2ui5_cl_demo_app_009.clas.abap b/src/z2ui5_cl_demo_app_009.clas.abap index 03499d2d..f567b77d 100644 --- a/src/z2ui5_cl_demo_app_009.clas.abap +++ b/src/z2ui5_cl_demo_app_009.clas.abap @@ -1,7 +1,6 @@ -CLASS Z2UI5_CL_DEMO_APP_009 DEFINITION PUBLIC. +CLASS z2ui5_cl_demo_app_009 DEFINITION PUBLIC. PUBLIC SECTION. - INTERFACES Z2UI5_if_app. DATA: @@ -22,7 +21,8 @@ CLASS Z2UI5_CL_DEMO_APP_009 DEFINITION PUBLIC. value TYPE string, descr TYPE string, END OF s_suggestion_items. - DATA mt_suggestion TYPE STANDARD TABLE OF s_suggestion_items WITH EMPTY KEY. + + DATA mt_suggestion TYPE STANDARD TABLE OF s_suggestion_items WITH EMPTY KEY. DATA mt_suggestion_sel TYPE STANDARD TABLE OF s_suggestion_items WITH EMPTY KEY. TYPES: @@ -30,6 +30,7 @@ CLASS Z2UI5_CL_DEMO_APP_009 DEFINITION PUBLIC. value TYPE string, descr TYPE string, END OF s_suggestion_items_city. + DATA mt_suggestion_city TYPE STANDARD TABLE OF s_suggestion_items_city WITH EMPTY KEY. TYPES: @@ -40,20 +41,22 @@ CLASS Z2UI5_CL_DEMO_APP_009 DEFINITION PUBLIC. name TYPE string, lastname TYPE string, END OF s_employee. - DATA mt_employees_sel TYPE STANDARD TABLE OF s_employee WITH EMPTY KEY. - DATA mt_employees TYPE STANDARD TABLE OF s_employee WITH EMPTY KEY. + + DATA mt_employees_sel TYPE STANDARD TABLE OF s_employee WITH EMPTY KEY. + DATA mt_employees TYPE STANDARD TABLE OF s_employee WITH EMPTY KEY. DATA check_initialized TYPE abap_bool. + DATA mv_view_popup TYPE string. - DATA mv_view_popup TYPE string. METHODS popup_f4_table IMPORTING client TYPE REF TO Z2UI5_if_client. + METHODS popup_f4_table_custom IMPORTING client TYPE REF TO Z2UI5_if_client. - PROTECTED SECTION. + PROTECTED SECTION. METHODS Z2UI5_on_rendering IMPORTING client TYPE REF TO Z2UI5_if_client. @@ -61,25 +64,22 @@ CLASS Z2UI5_CL_DEMO_APP_009 DEFINITION PUBLIC. METHODS Z2UI5_on_event IMPORTING client TYPE REF TO Z2UI5_if_client. - METHODS Z2UI5_on_init. + METHODS Z2UI5_on_init. PRIVATE SECTION. ENDCLASS. - -CLASS Z2UI5_CL_DEMO_APP_009 IMPLEMENTATION. - +CLASS z2ui5_cl_demo_app_009 IMPLEMENTATION. METHOD popup_f4_table. DATA(popup) = Z2UI5_cl_xml_view=>factory_popup( ). popup->dialog( 'abap2UI5 - F4 Value Help' - )->table( - mode = 'SingleSelectLeft' - items = client->_bind_edit( mt_suggestion_sel ) + )->table( mode = 'SingleSelectLeft' + items = client->_bind_edit( mt_suggestion_sel ) )->columns( )->column( '20rem' )->text( 'Color' )->get_parent( @@ -93,15 +93,13 @@ CLASS Z2UI5_CL_DEMO_APP_009 IMPLEMENTATION. )->text( '{DESCR}' )->get_parent( )->get_parent( )->get_parent( )->get_parent( )->buttons( - )->button( - text = 'continue' - press = client->_event( 'POPUP_TABLE_F4_CONTINUE' ) - type = 'Emphasized' ). + )->button( text = 'continue' + press = client->_event( 'POPUP_TABLE_F4_CONTINUE' ) + type = 'Emphasized' ). client->popup_display( popup->stringify( ) ). ENDMETHOD. - METHOD popup_f4_table_custom. DATA(popup2) = Z2UI5_cl_xml_view=>factory_popup( ). @@ -110,23 +108,19 @@ CLASS Z2UI5_CL_DEMO_APP_009 IMPLEMENTATION. popup2->simple_form( )->label( 'Location' - )->input( - value = client->_bind_edit( screen-city ) - suggestionitems = client->_bind( mt_suggestion_city ) - showsuggestion = abap_true )->get( + )->input( value = client->_bind_edit( screen-city ) + suggestionitems = client->_bind( mt_suggestion_city ) + showsuggestion = abap_true )->get( )->suggestion_items( )->get( - )->list_item( - text = '{VALUE}' - additionaltext = '{DESCR}' + )->list_item( text = '{VALUE}' + additionaltext = '{DESCR}' )->get_parent( )->get_parent( - )->button( - text = 'search...' - press = client->_event( 'SEARCH' ) ). + )->button( text = 'search...' + press = client->_event( 'SEARCH' ) ). - DATA(tab) = popup2->table( - headertext = 'Employees' - mode = 'SingleSelectLeft' - items = client->_bind_edit( mt_employees_sel ) ). + DATA(tab) = popup2->table( headertext = 'Employees' + mode = 'SingleSelectLeft' + items = client->_bind_edit( mt_employees_sel ) ). tab->columns( )->column( '10rem' @@ -146,15 +140,13 @@ CLASS Z2UI5_CL_DEMO_APP_009 IMPLEMENTATION. )->text( '{LASTNAME}' ). popup2->buttons( - )->button( - text = 'continue' - press = client->_event( 'POPUP_TABLE_F4_CUSTOM_CONTINUE' ) - type = 'Emphasized' ). + )->button( text = 'continue' + press = client->_event( 'POPUP_TABLE_F4_CUSTOM_CONTINUE' ) + type = 'Emphasized' ). client->popup_display( popup2->stringify( ) ). ENDMETHOD. - METHOD Z2UI5_if_app~main. CLEAR mv_view_popup. @@ -169,7 +161,6 @@ CLASS Z2UI5_CL_DEMO_APP_009 IMPLEMENTATION. ENDMETHOD. - METHOD Z2UI5_on_event. CASE client->get( )-event. @@ -193,7 +184,7 @@ CLASS Z2UI5_CL_DEMO_APP_009 IMPLEMENTATION. WHEN 'POPUP_TABLE_F4_CUSTOM_CONTINUE'. DELETE mt_employees_sel WHERE selkz = abap_false. IF lines( mt_employees_sel ) = 1. - screen-name = mt_employees_sel[ 1 ]-name. + screen-name = mt_employees_sel[ 1 ]-name. screen-lastname = mt_employees_sel[ 1 ]-lastname. client->message_toast_display( 'f4 value selected' ). client->popup_destroy( ). @@ -219,88 +210,82 @@ CLASS Z2UI5_CL_DEMO_APP_009 IMPLEMENTATION. ENDMETHOD. - METHOD Z2UI5_on_init. - mt_suggestion = VALUE #( - ( descr = 'this is the color Green' value = 'GREEN' ) - ( descr = 'this is the color Blue' value = 'BLUE' ) - ( descr = 'this is the color Black' value = 'BLACK' ) - ( descr = 'this is the color Grey' value = 'GREY' ) - ( descr = 'this is the color Blue2' value = 'BLUE2' ) - ( descr = 'this is the color Blue3' value = 'BLUE3' ) ). - - mt_suggestion_city = VALUE #( - ( value = 'London' descr = 'London' ) - ( value = 'Paris' descr = 'Paris' ) - ( value = 'Rome' descr = 'Rome' ) ). - - mt_employees = VALUE #( - ( city = 'London' name = 'Tom' lastname = 'lastname1' nr = '00001' ) - ( city = 'London' name = 'Tom2' lastname = 'lastname2' nr = '00002' ) - ( city = 'London' name = 'Tom3' lastname = 'lastname3' nr = '00003' ) - ( city = 'London' name = 'Tom4' lastname = 'lastname4' nr = '00004' ) - ( city = 'Rome' name = 'Michaela1' lastname = 'lastname5' nr = '00005' ) - ( city = 'Rome' name = 'Michaela2' lastname = 'lastname6' nr = '00006' ) - ( city = 'Rome' name = 'Michaela3' lastname = 'lastname7' nr = '00007' ) - ( city = 'Rome' name = 'Michaela4' lastname = 'lastname8' nr = '00008' ) - ( city = 'Paris' name = 'Hermine1' lastname = 'lastname9' nr = '00009' ) - ( city = 'Paris' name = 'Hermine2' lastname = 'lastname10' nr = '00010' ) - ( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' ) - ( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' ) - ( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' ) - ( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' ) - ( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' ) - ( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' ) - ( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' ) - ( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' ) - ( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' ) - ( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' ) - ( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' ) - ( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' ) - ( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' ) - ( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' ) - ( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' ) - ( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' ) - ( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' ) - ( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' ) - ( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' ) - ( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' ) - ( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' ) - ( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' ) - ( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' ) - ( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' ) - ( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' ) - ( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' ) - ( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' ) - ( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' ) - ( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' ) - ( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' ) - ( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' ) - ( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' ) - ( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' ) - ( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' ) - ( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' ) - ( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' ) - ( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' ) - ( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' ) - ( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' ) - ( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' ) - ( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' ) - ( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' ) - ( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' ) ). + mt_suggestion = VALUE #( ( descr = 'this is the color Green' value = 'GREEN' ) + ( descr = 'this is the color Blue' value = 'BLUE' ) + ( descr = 'this is the color Black' value = 'BLACK' ) + ( descr = 'this is the color Grey' value = 'GREY' ) + ( descr = 'this is the color Blue2' value = 'BLUE2' ) + ( descr = 'this is the color Blue3' value = 'BLUE3' ) ). + + mt_suggestion_city = VALUE #( ( value = 'London' descr = 'London' ) + ( value = 'Paris' descr = 'Paris' ) + ( value = 'Rome' descr = 'Rome' ) ). + + mt_employees = VALUE #( ( city = 'London' name = 'Tom' lastname = 'lastname1' nr = '00001' ) + ( city = 'London' name = 'Tom2' lastname = 'lastname2' nr = '00002' ) + ( city = 'London' name = 'Tom3' lastname = 'lastname3' nr = '00003' ) + ( city = 'London' name = 'Tom4' lastname = 'lastname4' nr = '00004' ) + ( city = 'Rome' name = 'Michaela1' lastname = 'lastname5' nr = '00005' ) + ( city = 'Rome' name = 'Michaela2' lastname = 'lastname6' nr = '00006' ) + ( city = 'Rome' name = 'Michaela3' lastname = 'lastname7' nr = '00007' ) + ( city = 'Rome' name = 'Michaela4' lastname = 'lastname8' nr = '00008' ) + ( city = 'Paris' name = 'Hermine1' lastname = 'lastname9' nr = '00009' ) + ( city = 'Paris' name = 'Hermine2' lastname = 'lastname10' nr = '00010' ) + ( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' ) + ( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' ) + ( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' ) + ( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' ) + ( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' ) + ( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' ) + ( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' ) + ( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' ) + ( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' ) + ( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' ) + ( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' ) + ( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' ) + ( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' ) + ( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' ) + ( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' ) + ( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' ) + ( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' ) + ( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' ) + ( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' ) + ( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' ) + ( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' ) + ( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' ) + ( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' ) + ( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' ) + ( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' ) + ( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' ) + ( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' ) + ( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' ) + ( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' ) + ( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' ) + ( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' ) + ( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' ) + ( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' ) + ( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' ) + ( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' ) + ( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' ) + ( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' ) + ( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' ) + ( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' ) + ( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' ) + ( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' ) + ( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' ) + ( city = 'Paris' name = 'Hermine3' lastname = 'lastname11' nr = '00011' ) ). ENDMETHOD. - METHOD Z2UI5_on_rendering. DATA(view) = z2ui5_cl_xml_view=>factory( ). DATA(page) = view->shell( - )->page( - title = 'abap2UI5 - Value Help Examples' - navbuttonpress = client->_event( 'BACK' ) - shownavbutton = xsdbool( client->get( )-s_draft-id_prev_app_stack IS NOT INITIAL ) + )->page( title = 'abap2UI5 - Value Help Examples' + navbuttonpress = client->_event( 'BACK' ) + shownavbutton = xsdbool( client->get( )-s_draft-id_prev_app_stack IS NOT INITIAL ) ). DATA(form) = page->grid( 'L7 M7 S7' @@ -309,57 +294,49 @@ CLASS Z2UI5_CL_DEMO_APP_009 IMPLEMENTATION. )->content( 'form' ). form->label( 'Input with sugestion items' - )->input( - value = client->_bind_edit( screen-color_01 ) - placeholder = 'fill in your favorite colour' - suggestionitems = client->_bind( mt_suggestion ) - showsuggestion = abap_true )->get( + )->input( value = client->_bind_edit( screen-color_01 ) + " TODO: check spelling: colour (typo) -> color (ABAP cleaner) + placeholder = 'fill in your favorite colour' + suggestionitems = client->_bind( mt_suggestion ) + showsuggestion = abap_true )->get( )->suggestion_items( )->get( - )->list_item( - text = '{VALUE}' - additionaltext = '{DESCR}' ). + )->list_item( text = '{VALUE}' + additionaltext = '{DESCR}' ). form->label( 'Input only numbers allowed' - )->input( - value = client->_bind_edit( screen-quantity ) - type = 'Number' - placeholder = 'quantity' ). + )->input( value = client->_bind_edit( screen-quantity ) + type = 'Number' + placeholder = 'quantity' ). form->label( 'Input with F4' - )->input( - value = client->_bind_edit( screen-color_02 ) - placeholder = 'fill in your favorite colour' - showvaluehelp = abap_true - valuehelprequest = client->_event( 'POPUP_TABLE_F4' ) ). + )->input( value = client->_bind_edit( screen-color_02 ) + " TODO: check spelling: colour (typo) -> color (ABAP cleaner) + placeholder = 'fill in your favorite colour' + showvaluehelp = abap_true + valuehelprequest = client->_event( 'POPUP_TABLE_F4' ) ). form->label( 'Custom F4 Popup' - )->input( - value = client->_bind_edit( screen-name ) - placeholder = 'name' - showvaluehelp = abap_true - valuehelprequest = client->_event( 'POPUP_TABLE_F4_CUSTOM' ) - )->input( - value = client->_bind_edit( screen-lastname ) - placeholder = 'lastname' - showvaluehelp = abap_true - valuehelprequest = client->_event( 'POPUP_TABLE_F4_CUSTOM' ) ). + )->input( value = client->_bind_edit( screen-name ) + placeholder = 'name' + showvaluehelp = abap_true + valuehelprequest = client->_event( 'POPUP_TABLE_F4_CUSTOM' ) + )->input( value = client->_bind_edit( screen-lastname ) + placeholder = 'lastname' + showvaluehelp = abap_true + valuehelprequest = client->_event( 'POPUP_TABLE_F4_CUSTOM' ) ). page->footer( )->overflow_toolbar( )->toolbar_spacer( - )->button( - text = 'Clear' - press = client->_event( 'BUTTON_CLEAR' ) - type = 'Reject' - enabled = abap_false - icon = 'sap-icon://delete' - )->button( - text = 'Send to Server' - press = client->_event( 'BUTTON_SEND' ) - enabled = abap_false - type = 'Success' ). - - + )->button( text = 'Clear' + press = client->_event( 'BUTTON_CLEAR' ) + type = 'Reject' + enabled = abap_false + icon = 'sap-icon://delete' + )->button( text = 'Send to Server' + press = client->_event( 'BUTTON_SEND' ) + enabled = abap_false + type = 'Success' ). CASE mv_view_popup. @@ -377,4 +354,5 @@ CLASS Z2UI5_CL_DEMO_APP_009 IMPLEMENTATION. * client->popup_display( popup->stringify( ) ). ENDMETHOD. + ENDCLASS. diff --git a/src/z2ui5_cl_demo_app_010.clas.abap b/src/z2ui5_cl_demo_app_010.clas.abap index d4fdbac4..38f11b86 100644 --- a/src/z2ui5_cl_demo_app_010.clas.abap +++ b/src/z2ui5_cl_demo_app_010.clas.abap @@ -1,16 +1,15 @@ -CLASS Z2UI5_CL_DEMO_APP_010 DEFINITION PUBLIC. +CLASS z2ui5_cl_demo_app_010 DEFINITION PUBLIC. PUBLIC SECTION. INTERFACES Z2UI5_if_app. PROTECTED SECTION. + PRIVATE SECTION. ENDCLASS. - -CLASS Z2UI5_CL_DEMO_APP_010 IMPLEMENTATION. - +CLASS z2ui5_cl_demo_app_010 IMPLEMENTATION. METHOD Z2UI5_if_app~main. @@ -20,10 +19,9 @@ CLASS Z2UI5_CL_DEMO_APP_010 IMPLEMENTATION. ENDCASE. DATA(page) = z2ui5_cl_xml_view=>factory( )->shell( - )->page( - title = 'abap2UI5 - Demo Layout' - navbuttonpress = client->_event( 'BACK' ) - shownavbutton = xsdbool( client->get( )-s_draft-id_prev_app_stack IS NOT INITIAL ) + )->page( title = 'abap2UI5 - Demo Layout' + navbuttonpress = client->_event( 'BACK' ) + shownavbutton = xsdbool( client->get( )-s_draft-id_prev_app_stack IS NOT INITIAL ) ). page->header_content( @@ -34,52 +32,63 @@ CLASS Z2UI5_CL_DEMO_APP_010 IMPLEMENTATION. )->overflow_toolbar( )->button( text = 'button' )->text( 'text' - )->link( text = 'link' href = 'https://twitter.com/abap2UI5' + )->link( text = 'link' + href = 'https://twitter.com/abap2UI5' )->toolbar_spacer( )->text( 'subheader' )->toolbar_spacer( )->button( text = 'button' )->text( 'text' - )->link( text = 'link' href = 'https://twitter.com/abap2UI5' ). + )->link( text = 'link' + href = 'https://twitter.com/abap2UI5' ). DATA(grid) = page->grid( 'L4 M4 S4' )->content( 'layout' ). grid->simple_form( 'Grid width 33%' )->content( 'form' )->button( text = 'button' )->text( 'text' - )->link( text = 'link' href = 'https://twitter.com/abap2UI5' ). + )->link( text = 'link' + href = 'https://twitter.com/abap2UI5' ). grid->simple_form( 'Grid width 33%' )->content( 'form' )->button( text = 'button' )->text( 'text' - )->link( text = 'link' href = 'https://twitter.com/abap2UI5' ). + )->link( text = 'link' + href = 'https://twitter.com/abap2UI5' ). grid->simple_form( 'Grid width 33%' )->content( 'form' )->button( text = 'button' )->text( 'text' - )->link( text = 'link' href = 'https://twitter.com/abap2UI5' ). + )->link( text = 'link' + href = 'https://twitter.com/abap2UI5' ). grid = page->grid( 'L12 M12 S12' )->content( 'layout' ). grid->simple_form( 'grid width 100%' )->content( 'form' )->button( text = 'button' )->text( 'text' - )->link( text = 'link' href = 'https://twitter.com/abap2UI5' ). + )->link( text = 'link' + href = 'https://twitter.com/abap2UI5' ). page->footer( )->overflow_toolbar( )->button( text = 'button' )->text( 'text' - )->link( text = 'link' href = 'https://twitter.com/abap2UI5' + )->link( text = 'link' + href = 'https://twitter.com/abap2UI5' )->toolbar_spacer( )->text( 'footer' )->toolbar_spacer( )->text( 'text' - )->link( text = 'link' href = 'https://twitter.com/abap2UI5' - )->button( text = 'reject' type = 'Reject' - )->button( text = 'accept' type = 'Success' ). + )->link( text = 'link' + href = 'https://twitter.com/abap2UI5' + )->button( text = 'reject' + type = 'Reject' + )->button( text = 'accept' + type = 'Success' ). client->view_display( page->stringify( ) ). ENDMETHOD. + ENDCLASS. diff --git a/src/z2ui5_cl_demo_app_011.clas.abap b/src/z2ui5_cl_demo_app_011.clas.abap index f197339e..83c0eec4 100644 --- a/src/z2ui5_cl_demo_app_011.clas.abap +++ b/src/z2ui5_cl_demo_app_011.clas.abap @@ -1,7 +1,6 @@ CLASS z2ui5_cl_demo_app_011 DEFINITION PUBLIC. PUBLIC SECTION. - INTERFACES z2ui5_if_app. TYPES: @@ -16,53 +15,46 @@ CLASS z2ui5_cl_demo_app_011 DEFINITION PUBLIC. checkbox TYPE abap_bool, END OF ty_row. - DATA t_tab TYPE STANDARD TABLE OF ty_row WITH EMPTY KEY. + DATA t_tab TYPE STANDARD TABLE OF ty_row WITH EMPTY KEY. DATA check_editable_active TYPE abap_bool. - DATA check_initialized TYPE abap_bool. + DATA check_initialized TYPE abap_bool. PROTECTED SECTION. DATA client TYPE REF TO z2ui5_if_client. METHODS set_view. + PRIVATE SECTION. ENDCLASS. - CLASS z2ui5_cl_demo_app_011 IMPLEMENTATION. - METHOD set_view. DATA(view) = z2ui5_cl_xml_view=>factory( ). DATA(page) = view->shell( - )->page( - title = 'abap2UI5 - Tables and editable' - navbuttonpress = client->_event( 'BACK' ) - shownavbutton = abap_true ). - - DATA(tab) = page->table( - items = client->_bind_edit( t_tab ) - mode = 'MultiSelect' + )->page( title = 'abap2UI5 - Tables and editable' + navbuttonpress = client->_event( 'BACK' ) + shownavbutton = abap_true ). + + DATA(tab) = page->table( items = client->_bind_edit( t_tab ) + mode = 'MultiSelect' )->header_toolbar( )->overflow_toolbar( )->title( 'title of the table' - )->button( - text = 'test' - press = client->_event( 'BUTTON_TEST' ) + )->button( text = 'test' + press = client->_event( 'BUTTON_TEST' ) )->toolbar_spacer( - )->button( - icon = 'sap-icon://delete' - text = 'delete selected row' - press = client->_event( 'BUTTON_DELETE' ) - )->button( - icon = 'sap-icon://add' - text = 'add' - press = client->_event( 'BUTTON_ADD' ) - )->button( - icon = 'sap-icon://edit' - text = SWITCH #( check_editable_active WHEN abap_true THEN |display| ELSE |edit| ) - press = client->_event( 'BUTTON_EDIT' ) + )->button( icon = 'sap-icon://delete' + text = 'delete selected row' + press = client->_event( 'BUTTON_DELETE' ) + )->button( icon = 'sap-icon://add' + text = 'add' + press = client->_event( 'BUTTON_ADD' ) + )->button( icon = 'sap-icon://edit' + text = SWITCH #( check_editable_active WHEN abap_true THEN |display| ELSE |edit| ) + press = client->_event( 'BUTTON_EDIT' ) )->get_parent( )->get_parent( ). tab->columns( @@ -79,17 +71,21 @@ CLASS z2ui5_cl_demo_app_011 IMPLEMENTATION. tab->items( )->column_list_item( selected = '{SELKZ}' )->cells( - )->input( value = '{TITLE}' enabled = `{EDITABLE}` - )->input( value = '{VALUE}' enabled = `{EDITABLE}` - )->input( value = '{INFO}' enabled = `{EDITABLE}` - )->input( value = '{DESCR}' enabled = `{EDITABLE}` - )->checkbox( selected = '{CHECKBOX}' enabled = `{EDITABLE}` ). + )->input( value = '{TITLE}' + enabled = `{EDITABLE}` + )->input( value = '{VALUE}' + enabled = `{EDITABLE}` + )->input( value = '{INFO}' + enabled = `{EDITABLE}` + )->input( value = '{DESCR}' + enabled = `{EDITABLE}` + )->checkbox( selected = '{CHECKBOX}' + enabled = `{EDITABLE}` ). client->view_display( view->stringify( ) ). ENDMETHOD. - METHOD z2ui5_if_app~main. me->client = client. @@ -112,7 +108,6 @@ CLASS z2ui5_cl_demo_app_011 IMPLEMENTATION. ENDIF. - CASE client->get( )-event. WHEN 'BUTTON_EDIT'. @@ -133,4 +128,5 @@ CLASS z2ui5_cl_demo_app_011 IMPLEMENTATION. ENDCASE. ENDMETHOD. + ENDCLASS. diff --git a/src/z2ui5_cl_demo_app_012.clas.abap b/src/z2ui5_cl_demo_app_012.clas.abap index 66bc1fc2..95628e76 100644 --- a/src/z2ui5_cl_demo_app_012.clas.abap +++ b/src/z2ui5_cl_demo_app_012.clas.abap @@ -1,108 +1,94 @@ -CLASS Z2UI5_CL_DEMO_APP_012 DEFINITION PUBLIC. +CLASS z2ui5_cl_demo_app_012 DEFINITION PUBLIC. PUBLIC SECTION. - INTERFACES Z2UI5_if_app. - DATA client TYPE REF TO Z2UI5_if_client. + DATA client TYPE REF TO Z2UI5_if_client. DATA mv_check_popup TYPE abap_bool. + METHODS ui5_popup_decide. METHODS ui5_popup_info_frontend_close. METHODS ui5_view_display. PROTECTED SECTION. + PRIVATE SECTION. ENDCLASS. - -CLASS Z2UI5_CL_DEMO_APP_012 IMPLEMENTATION. - +CLASS z2ui5_cl_demo_app_012 IMPLEMENTATION. METHOD ui5_popup_decide. - DATA(popup) = Z2UI5_cl_xml_view=>factory_popup( ). + DATA(popup) = Z2UI5_cl_xml_view=>factory_popup( ). popup->dialog( 'Popup - Decide' )->vbox( )->text( 'this is a popup to decide, you have to make a decision now...' )->get_parent( )->buttons( - )->button( - text = 'Cancel' - press = client->_event( 'POPUP_DECIDE_CANCEL' ) - )->button( - text = 'Continue' - press = client->_event( 'POPUP_DECIDE_CONTINUE' ) - type = 'Emphasized' ). + )->button( text = 'Cancel' + press = client->_event( 'POPUP_DECIDE_CANCEL' ) + )->button( text = 'Continue' + press = client->_event( 'POPUP_DECIDE_CONTINUE' ) + type = 'Emphasized' ). client->popup_display( popup->stringify( ) ). ENDMETHOD. - METHOD ui5_popup_info_frontend_close. - DATA(popup) = Z2UI5_cl_xml_view=>factory_popup( ). + DATA(popup) = Z2UI5_cl_xml_view=>factory_popup( ). popup->dialog( 'Popup - Info' )->vbox( )->text( 'this is an information, press close to go back to the main view without a server roundtrip' )->get_parent( )->buttons( - )->button( - text = 'close' - press = client->_event_client( client->cs_event-popup_close ) - type = 'Emphasized' ). + )->button( text = 'close' + press = client->_event_client( client->cs_event-popup_close ) + type = 'Emphasized' ). client->popup_display( popup->stringify( ) ). ENDMETHOD. - METHOD ui5_view_display. DATA(lo_main) = z2ui5_cl_xml_view=>factory( )->shell( ). - DATA(page) = lo_main->page( - title = 'abap2UI5 - Popups' - navbuttonpress = client->_event( val = 'BACK' ) - shownavbutton = xsdbool( client->get( )-s_draft-id_prev_app_stack IS NOT INITIAL ) + DATA(page) = lo_main->page( title = 'abap2UI5 - Popups' + navbuttonpress = client->_event( val = 'BACK' ) + shownavbutton = xsdbool( client->get( )-s_draft-id_prev_app_stack IS NOT INITIAL ) ). DATA(grid) = page->grid( 'L7 M12 S12' )->content( 'layout' )->simple_form( 'Popup in same App' )->content( 'form' )->label( 'Demo' - )->button( - text = 'popup rendering, no background rendering' - press = client->_event( val = 'BUTTON_POPUP_01' ) + )->button( text = 'popup rendering, no background rendering' + press = client->_event( val = 'BUTTON_POPUP_01' ) )->label( 'Demo' - )->button( - text = 'popup rendering, background destroyed and rerendering' - press = client->_event( val = 'BUTTON_POPUP_02' ) + )->button( text = 'popup rendering, background destroyed and rerendering' + press = client->_event( val = 'BUTTON_POPUP_02' ) )->label( 'Demo' - )->button( - text = 'popup, background unchanged (default) - close (no roundtrip)' - press = client->_event( 'BUTTON_POPUP_03' ) + )->button( text = 'popup, background unchanged (default) - close (no roundtrip)' + press = client->_event( 'BUTTON_POPUP_03' ) )->label( 'Demo' - )->button( - text = 'popup, background unchanged (default) - close with server' - press = client->_event( val = 'BUTTON_POPUP_04' ) + )->button( text = 'popup, background unchanged (default) - close with server' + press = client->_event( val = 'BUTTON_POPUP_04' ) )->get_parent( )->get_parent( ). grid->simple_form( 'Popup in new App' )->content( 'form' )->label( 'Demo' - )->button( - text = 'popup rendering, no background' - press = client->_event( 'BUTTON_POPUP_05' ) + )->button( text = 'popup rendering, no background' + press = client->_event( 'BUTTON_POPUP_05' ) )->label( 'Demo' - )->button( - text = 'popup rendering, hold previous view' - press = client->_event( val = 'BUTTON_POPUP_06' ) ). + )->button( text = 'popup rendering, hold previous view' + press = client->_event( val = 'BUTTON_POPUP_06' ) ). client->view_display( lo_main->stringify( ) ). ENDMETHOD. - METHOD Z2UI5_if_app~main. me->client = client. @@ -113,8 +99,8 @@ CLASS Z2UI5_CL_DEMO_APP_012 IMPLEMENTATION. IF mv_check_popup = abap_true. mv_check_popup = abap_false. - DATA(app) = CAST Z2UI5_CL_DEMO_APP_020( client->get_app( client->get( )-s_draft-id_prev_app ) ). - client->message_toast_display( app->mv_event && ` pressed` ). + DATA(app) = CAST z2ui5_cl_demo_app_020( client->get_app( client->get( )-s_draft-id_prev_app ) ). + client->message_toast_display( |{ app->mv_event } pressed| ). ENDIF. CASE client->get( )-event. @@ -146,22 +132,24 @@ CLASS Z2UI5_CL_DEMO_APP_012 IMPLEMENTATION. WHEN 'BUTTON_POPUP_05'. mv_check_popup = abap_true. client->view_destroy( ). - client->nav_app_call( Z2UI5_CL_DEMO_APP_020=>factory( - i_text = '(new app )this is a popup to decide, the text is send from the previous app and the answer will be send back' - i_cancel_text = 'Cancel ' - i_cancel_event = 'POPUP_DECIDE_CANCEL' - i_confirm_text = 'Continue' - i_confirm_event = 'POPUP_DECIDE_CONTINUE' - ) ). + client->nav_app_call( + z2ui5_cl_demo_app_020=>factory( + i_text = '(new app )this is a popup to decide, the text is send from the previous app and the answer will be send back' + i_cancel_text = 'Cancel ' + i_cancel_event = 'POPUP_DECIDE_CANCEL' + i_confirm_text = 'Continue' + i_confirm_event = 'POPUP_DECIDE_CONTINUE' +) ). WHEN 'BUTTON_POPUP_06'. mv_check_popup = abap_true. - client->nav_app_call( Z2UI5_CL_DEMO_APP_020=>factory( - i_text = '(new app )this is a popup to decide, the text is send from the previous app and the answer will be send back' - i_cancel_text = 'Cancel' - i_cancel_event = 'POPUP_DECIDE_CANCEL' - i_confirm_text = 'Continue' - i_confirm_event = 'POPUP_DECIDE_CONTINUE' ) ). + client->nav_app_call( + z2ui5_cl_demo_app_020=>factory( + i_text = '(new app )this is a popup to decide, the text is send from the previous app and the answer will be send back' + i_cancel_text = 'Cancel' + i_cancel_event = 'POPUP_DECIDE_CANCEL' + i_confirm_text = 'Continue' + i_confirm_event = 'POPUP_DECIDE_CONTINUE' ) ). WHEN 'BACK'. client->nav_app_leave( ). @@ -169,4 +157,5 @@ CLASS Z2UI5_CL_DEMO_APP_012 IMPLEMENTATION. ENDCASE. ENDMETHOD. + ENDCLASS. diff --git a/src/z2ui5_cl_demo_app_013.clas.abap b/src/z2ui5_cl_demo_app_013.clas.abap index c430ec3c..56b09664 100644 --- a/src/z2ui5_cl_demo_app_013.clas.abap +++ b/src/z2ui5_cl_demo_app_013.clas.abap @@ -1,17 +1,16 @@ CLASS z2ui5_cl_demo_app_013 DEFINITION PUBLIC. PUBLIC SECTION. - INTERFACES z2ui5_if_app. - DATA check_initialized TYPE abap_bool. + DATA check_initialized TYPE abap_bool. - DATA mv_sel4 TYPE abap_bool. - DATA mv_sel5 TYPE abap_bool. - DATA mv_sel6 TYPE abap_bool. + DATA mv_sel4 TYPE abap_bool. + DATA mv_sel5 TYPE abap_bool. + DATA mv_sel6 TYPE abap_bool. DATA mv_tab_donut_active TYPE abap_bool. - DATA total_count TYPE i. + DATA total_count TYPE i. TYPES: BEGIN OF ty_chart, @@ -22,123 +21,132 @@ CLASS z2ui5_cl_demo_app_013 DEFINITION PUBLIC. DATA counts TYPE STANDARD TABLE OF ty_chart WITH EMPTY KEY. METHODS render_tab_donut. + DATA client TYPE REF TO z2ui5_if_client. PROTECTED SECTION. + PRIVATE SECTION. ENDCLASS. - -CLASS Z2UI5_CL_DEMO_APP_013 IMPLEMENTATION. - +CLASS z2ui5_cl_demo_app_013 IMPLEMENTATION. METHOD render_tab_donut. DATA(container) = z2ui5_cl_xml_view=>factory( )->shell( - )->page( - title = 'abap2UI5 - Visualization' - navbuttonpress = client->_event( 'BACK' ) - shownavbutton = abap_true + )->page( title = 'abap2UI5 - Visualization' + navbuttonpress = client->_event( 'BACK' ) + shownavbutton = abap_true )->tab_container( ). - DATA(grid) = container->tab( - text = 'Donut Chart' - selected = client->_bind( mv_tab_donut_active ) + DATA(grid) = container->tab( text = 'Donut Chart' + selected = client->_bind( mv_tab_donut_active ) )->grid( 'XL6 L6 M6 S12' ). grid->link( - text = 'Go to the SAP Demos for Interactive Donut Charts here...' target = '_blank' - href = 'https://sapui5.hana.ondemand.com/#/entity/sap.suite.ui.microchart.InteractiveDonutChart/sample/sap.suite.ui.microchart.sample.InteractiveDonutChart' - )->text( - text = 'Three segments' - class = 'sapUiSmallMargin' + text = 'Go to the SAP Demos for Interactive Donut Charts here...' + target = '_blank' + href = 'https://sapui5.hana.ondemand.com/#/entity/sap.suite.ui.microchart.InteractiveDonutChart/sample/sap.suite.ui.microchart.sample.InteractiveDonutChart' + )->text( text = 'Three segments' + class = 'sapUiSmallMargin' )->get( )->layout_data( )->grid_data( 'XL12 L12 M12 S12' ). - - DATA(seg) = grid->flex_box( - width = '22rem' - height = '13rem' - alignitems = 'Start' - justifycontent = 'SpaceBetween' - )->items( )->interact_donut_chart( - selectionchanged = client->_event( 'DONUT_CHANGED' ) + DATA(seg) = grid->flex_box( width = '22rem' + height = '13rem' + alignitems = 'Start' + justifycontent = 'SpaceBetween' + )->items( )->interact_donut_chart( selectionchanged = client->_event( 'DONUT_CHANGED' ) )->segments( ). - seg->interact_donut_chart_segment( selected = client->_bind( mv_sel4 ) label = 'Impl. Phase' value = '40.0' displayedvalue = '40.0%' ). - seg->interact_donut_chart_segment( selected = client->_bind( mv_sel5 ) label = 'Design Phase' value = '21.5' displayedvalue = '21.5%' ). - seg->interact_donut_chart_segment( selected = client->_bind( mv_sel6 ) label = 'Test Phase' value = '38.5' displayedvalue = '38.5%' ). - - grid->text( - text = 'Four segments' - class = 'sapUiSmallMargin' + seg->interact_donut_chart_segment( selected = client->_bind( mv_sel4 ) + label = 'Impl. Phase' + value = '40.0' + displayedvalue = '40.0%' ). + seg->interact_donut_chart_segment( selected = client->_bind( mv_sel5 ) + label = 'Design Phase' + value = '21.5' + displayedvalue = '21.5%' ). + seg->interact_donut_chart_segment( selected = client->_bind( mv_sel6 ) + label = 'Test Phase' + value = '38.5' + displayedvalue = '38.5%' ). + + grid->text( text = 'Four segments' + class = 'sapUiSmallMargin' )->get( )->layout_data( )->grid_data( 'XL12 L12 M12 S12' ). - seg = grid->flex_box( - width = '22rem' - height = '13rem' - alignitems = 'Start' - justifycontent = 'SpaceBetween' - )->items( )->interact_donut_chart( - selectionchanged = client->_event( 'DONUT_CHANGED' ) - press = client->_event( 'DONUT_PRESS' ) - displayedsegments = '4' + seg = grid->flex_box( width = '22rem' + height = '13rem' + alignitems = 'Start' + justifycontent = 'SpaceBetween' + )->items( )->interact_donut_chart( selectionchanged = client->_event( 'DONUT_CHANGED' ) + press = client->_event( 'DONUT_PRESS' ) + displayedsegments = '4' )->segments( ). - seg->interact_donut_chart_segment( label = 'Design Phase' value = '32.0' displayedvalue = '32.0%' ). - seg->interact_donut_chart_segment( label = 'Implementation Phase' value = '28' displayedvalue = '28%' ). - seg->interact_donut_chart_segment( label = 'Test Phase' value = '25' displayedvalue = '25%' ). - seg->interact_donut_chart_segment( label = 'Launch Phase' value = '15' displayedvalue = '15%' ). - - grid->text( - text = 'Error Messages' - class = 'sapUiSmallMargin' + seg->interact_donut_chart_segment( label = 'Design Phase' + value = '32.0' + displayedvalue = '32.0%' ). + seg->interact_donut_chart_segment( label = 'Implementation Phase' + value = '28' + displayedvalue = '28%' ). + seg->interact_donut_chart_segment( label = 'Test Phase' + value = '25' + displayedvalue = '25%' ). + seg->interact_donut_chart_segment( label = 'Launch Phase' + value = '15' + displayedvalue = '15%' ). + + grid->text( text = 'Error Messages' + class = 'sapUiSmallMargin' )->get( )->layout_data( )->grid_data( 'XL12 L12 M12 S12' ). - seg = grid->flex_box( - width = '22rem' - height = '13rem' - alignitems = 'Start' - justifycontent = 'SpaceBetween' - )->items( )->interact_donut_chart( - selectionchanged = client->_event( 'DONUT_CHANGED' ) - showerror = abap_true - errormessagetitle = 'No data' - errormessage = 'Currently no data is available' + seg = grid->flex_box( width = '22rem' + height = '13rem' + alignitems = 'Start' + justifycontent = 'SpaceBetween' + )->items( )->interact_donut_chart( selectionchanged = client->_event( 'DONUT_CHANGED' ) + showerror = abap_true + errormessagetitle = 'No data' + errormessage = 'Currently no data is available' )->segments( ). - seg->interact_donut_chart_segment( label = 'Implementation Phase' value = '40.0' displayedvalue = '40.0%' ). - seg->interact_donut_chart_segment( label = 'Design Phase' value = '21.5' displayedvalue = '21.5%' ). - seg->interact_donut_chart_segment( label = 'Test Phase' value = '38.5' displayedvalue = '38.5%' ). - - grid->text( - text = 'Model Update Table Data' - class = 'sapUiSmallMargin' + seg->interact_donut_chart_segment( label = 'Implementation Phase' + value = '40.0' + displayedvalue = '40.0%' ). + seg->interact_donut_chart_segment( label = 'Design Phase' + value = '21.5' + displayedvalue = '21.5%' ). + seg->interact_donut_chart_segment( label = 'Test Phase' + value = '38.5' + displayedvalue = '38.5%' ). + + grid->text( text = 'Model Update Table Data' + class = 'sapUiSmallMargin' )->get( )->layout_data( )->grid_data( 'XL12 L12 M12 S12' ). - DATA(donut_chart) = grid->button( text = `update chart` press = client->_event( 'UPDATE_CHART_DATA' ) )->get_parent( - )->flex_box( - width = '30rem' - height = '18rem' - alignitems = 'Start' - justifycontent = 'SpaceBetween' + DATA(donut_chart) = grid->button( text = `update chart` + press = client->_event( 'UPDATE_CHART_DATA' ) )->get_parent( + )->flex_box( width = '30rem' + height = '18rem' + alignitems = 'Start' + justifycontent = 'SpaceBetween' )->items( - )->interact_donut_chart( displayedsegments = client->_bind_edit( total_count ) segments = client->_bind_edit( counts ) ). + )->interact_donut_chart( displayedsegments = client->_bind_edit( total_count ) + segments = client->_bind_edit( counts ) ). - - donut_chart->interact_donut_chart_segment( - label = `{TEXT}` - value = `{PERCENT}` - displayedvalue = `{PERCENT}` - ). + donut_chart->interact_donut_chart_segment( label = `{TEXT}` + value = `{PERCENT}` + displayedvalue = `{PERCENT}` + ). client->view_display( container->stringify( ) ). ENDMETHOD. - METHOD z2ui5_if_app~main. me->client = client. @@ -146,9 +154,7 @@ CLASS Z2UI5_CL_DEMO_APP_013 IMPLEMENTATION. IF check_initialized = abap_false. check_initialized = abap_true. - - counts = VALUE #( - ( text = '1st' percent = '10.0' ) + counts = VALUE #( ( text = '1st' percent = '10.0' ) ( text = '2nd' percent = '60.0' ) ( text = '3rd' percent = '30.0' ) ). @@ -167,8 +173,7 @@ CLASS Z2UI5_CL_DEMO_APP_013 IMPLEMENTATION. CASE client->get( )-event. WHEN 'UPDATE_CHART_DATA'. CLEAR counts. - counts = VALUE #( - ( text = '1st' percent = '60.0' ) + counts = VALUE #( ( text = '1st' percent = '60.0' ) ( text = '2nd' percent = '10.0' ) ( text = '3rd' percent = '15.0' ) ( text = '4th' percent = '15.0' ) @@ -183,4 +188,5 @@ CLASS Z2UI5_CL_DEMO_APP_013 IMPLEMENTATION. ENDCASE. ENDMETHOD. + ENDCLASS. diff --git a/src/z2ui5_cl_demo_app_014.clas.abap b/src/z2ui5_cl_demo_app_014.clas.abap index 0941c842..48c2f42e 100644 --- a/src/z2ui5_cl_demo_app_014.clas.abap +++ b/src/z2ui5_cl_demo_app_014.clas.abap @@ -1,120 +1,156 @@ -CLASS Z2UI5_CL_DEMO_APP_014 DEFINITION PUBLIC. +CLASS z2ui5_cl_demo_app_014 DEFINITION PUBLIC. PUBLIC SECTION. - INTERFACES Z2UI5_if_app. - DATA check_initialized TYPE abap_bool. + DATA check_initialized TYPE abap_bool. - DATA mv_sel7 TYPE abap_bool. - DATA mv_sel8 TYPE abap_bool. - DATA mv_sel9 TYPE abap_bool. - DATA mv_sel10 TYPE abap_bool. - DATA mv_sel11 TYPE abap_bool. - DATA mv_sel12 TYPE abap_bool. + DATA mv_sel7 TYPE abap_bool. + DATA mv_sel8 TYPE abap_bool. + DATA mv_sel9 TYPE abap_bool. + DATA mv_sel10 TYPE abap_bool. + DATA mv_sel11 TYPE abap_bool. + DATA mv_sel12 TYPE abap_bool. DATA mv_tab_line_active TYPE abap_bool. + METHODS render_tab_line. + DATA client TYPE REF TO Z2UI5_if_client. PROTECTED SECTION. + PRIVATE SECTION. ENDCLASS. - -CLASS Z2UI5_CL_DEMO_APP_014 IMPLEMENTATION. - +CLASS z2ui5_cl_demo_app_014 IMPLEMENTATION. METHOD render_tab_line. DATA(view) = z2ui5_cl_xml_view=>factory( ). DATA(container) = view->shell( - )->page( - title = 'abap2UI5 - Visualization' - navbuttonpress = client->_event( 'BACK' ) - shownavbutton = abap_true + )->page( title = 'abap2UI5 - Visualization' + navbuttonpress = client->_event( 'BACK' ) + shownavbutton = abap_true )->tab_container( ). - DATA(tab) = container->tab( text = 'Line Chart' selected = client->_bind( mv_tab_line_active ) ). + DATA(tab) = container->tab( text = 'Line Chart' + selected = client->_bind( mv_tab_line_active ) ). DATA(grid) = tab->grid( 'XL6 L6 M6 S12' ). grid->link( - text = 'Go to the SAP Demos for Interactive Line Charts here...' target = '_blank' - href = 'https://sapui5.hana.ondemand.com/#/entity/sap.suite.ui.microchart.InteractiveLineChart/sample/sap.suite.ui.microchart.sample.InteractiveLineChart' ). + text = 'Go to the SAP Demos for Interactive Line Charts here...' + target = '_blank' + href = 'https://sapui5.hana.ondemand.com/#/entity/sap.suite.ui.microchart.InteractiveLineChart/sample/sap.suite.ui.microchart.sample.InteractiveLineChart' ). - grid->text( - text = 'Absolute and Percentage values' - class = 'sapUiSmallMargin' + grid->text( text = 'Absolute and Percentage values' + class = 'sapUiSmallMargin' )->get( )->layout_data( )->grid_data( 'XL12 L12 M12 S12' ). - DATA(point) = grid->flex_box( - width = '22rem' - height = '13rem' - alignitems = 'Center' - class = 'sapUiSmallMargin' - )->items( )->interact_line_chart( - selectionchanged = client->_event( 'LINE_CHANGED' ) - precedingpoint = '15' - succeddingpoint = '89' + DATA(point) = grid->flex_box( width = '22rem' + height = '13rem' + alignitems = 'Center' + class = 'sapUiSmallMargin' + )->items( )->interact_line_chart( selectionchanged = client->_event( 'LINE_CHANGED' ) + precedingpoint = '15' + succeddingpoint = '89' )->points( ). - point->interact_line_chart_point( selected = client->_bind( mv_sel7 ) label = 'May' value = '33.1' secondarylabel = 'Q2' ). - point->interact_line_chart_point( selected = client->_bind( mv_sel8 ) label = 'June' value = '12' ). - point->interact_line_chart_point( selected = client->_bind( mv_sel9 ) label = 'July' value = '51.4' secondarylabel = 'Q3' ). - point->interact_line_chart_point( selected = client->_bind( mv_sel10 ) label = 'Aug' value = '52' ). - point->interact_line_chart_point( selected = client->_bind( mv_sel11 ) label = 'Sep' value = '69.9'). - point->interact_line_chart_point( selected = client->_bind( mv_sel12 ) label = 'Oct' value = '0.9' secondarylabel = 'Q4' ). - - point = grid->flex_box( - width = '22rem' - height = '13rem' - alignitems = 'Start' - class = 'SpaceBetween' + point->interact_line_chart_point( selected = client->_bind( mv_sel7 ) + label = 'May' + value = '33.1' + secondarylabel = 'Q2' ). + point->interact_line_chart_point( selected = client->_bind( mv_sel8 ) + label = 'June' + value = '12' ). + point->interact_line_chart_point( selected = client->_bind( mv_sel9 ) + label = 'July' + value = '51.4' + secondarylabel = 'Q3' ). + point->interact_line_chart_point( selected = client->_bind( mv_sel10 ) + label = 'Aug' + value = '52' ). + point->interact_line_chart_point( selected = client->_bind( mv_sel11 ) + label = 'Sep' + value = '69.9' ). + point->interact_line_chart_point( selected = client->_bind( mv_sel12 ) + label = 'Oct' + value = '0.9' + secondarylabel = 'Q4' ). + + point = grid->flex_box( width = '22rem' + height = '13rem' + alignitems = 'Start' + class = 'SpaceBetween' )->items( - )->interact_line_chart( - selectionchanged = client->_event( 'LINE_CHANGED' ) - press = client->_event( 'LINE_PRESS' ) - precedingpoint = '-20' + )->interact_line_chart( selectionchanged = client->_event( 'LINE_CHANGED' ) + press = client->_event( 'LINE_PRESS' ) + precedingpoint = '-20' )->points( ). - point->interact_line_chart_point( label = 'May' value = '33.1' displayedvalue = '33.1%' secondarylabel = '2015' ). - point->interact_line_chart_point( label = 'June' value = '2.2' displayedvalue = '2.2%' secondarylabel = '2015' ). - point->interact_line_chart_point( label = 'July' value = '51.4' displayedvalue = '51.4%' secondarylabel = '2015' ). - point->interact_line_chart_point( label = 'Aug' value = '19.9' displayedvalue = '19.9%' ). - point->interact_line_chart_point( label = 'Sep' value = '69.9' displayedvalue = '69.9%' ). - point->interact_line_chart_point( label = 'Oct' value = '0.9' displayedvalue = '9.9%' ). + point->interact_line_chart_point( label = 'May' + value = '33.1' + displayedvalue = '33.1%' + secondarylabel = '2015' ). + point->interact_line_chart_point( label = 'June' + value = '2.2' + displayedvalue = '2.2%' + secondarylabel = '2015' ). + point->interact_line_chart_point( label = 'July' + value = '51.4' + displayedvalue = '51.4%' + secondarylabel = '2015' ). + point->interact_line_chart_point( label = 'Aug' + value = '19.9' + displayedvalue = '19.9%' ). + point->interact_line_chart_point( label = 'Sep' + value = '69.9' + displayedvalue = '69.9%' ). + point->interact_line_chart_point( label = 'Oct' + value = '0.9' + displayedvalue = '9.9%' ). point = grid->vertical_layout( )->layout_data( ns = 'layout' )->grid_data( 'XL12 L12 M12 S12' )->get_parent( - )->text( - text = 'Preselected values' - class = 'sapUiSmallMargin' - )->flex_box( - width = '22rem' - height = '13rem' - alignitems = 'Start' - class = 'sapUiSmallMargin' + )->text( text = 'Preselected values' + class = 'sapUiSmallMargin' + )->flex_box( width = '22rem' + height = '13rem' + alignitems = 'Start' + class = 'sapUiSmallMargin' )->items( - )->interact_line_chart( - selectionchanged = client->_event( 'LINE_CHANGED' ) - press = client->_event( 'LINE_PRESS' ) + )->interact_line_chart( selectionchanged = client->_event( 'LINE_CHANGED' ) + press = client->_event( 'LINE_PRESS' ) )->points( ). - point->interact_line_chart_point( label = 'May' value = '33.1' displayedvalue = '33.1%' selected = abap_true ). - point->interact_line_chart_point( label = 'June' value = '2.2' displayedvalue = '2.2%' ). - point->interact_line_chart_point( label = 'July' value = '51.4' displayedvalue = '51.4%' ). - point->interact_line_chart_point( label = 'Aug' value = '19.9' displayedvalue = '19.9%' selected = abap_true ). - point->interact_line_chart_point( label = 'Sep' value = '69.9' displayedvalue = '69.9%' ). - point->interact_line_chart_point( label = 'Oct' value = '0.9' displayedvalue = '9.9%' ). + point->interact_line_chart_point( label = 'May' + value = '33.1' + displayedvalue = '33.1%' + selected = abap_true ). + point->interact_line_chart_point( label = 'June' + value = '2.2' + displayedvalue = '2.2%' ). + point->interact_line_chart_point( label = 'July' + value = '51.4' + displayedvalue = '51.4%' ). + point->interact_line_chart_point( label = 'Aug' + value = '19.9' + displayedvalue = '19.9%' + selected = abap_true ). + point->interact_line_chart_point( label = 'Sep' + value = '69.9' + displayedvalue = '69.9%' ). + point->interact_line_chart_point( label = 'Oct' + value = '0.9' + displayedvalue = '9.9%' ). client->view_display( view->stringify( ) ). ENDMETHOD. - METHOD Z2UI5_if_app~main. me->client = client. @@ -138,4 +174,5 @@ CLASS Z2UI5_CL_DEMO_APP_014 IMPLEMENTATION. ENDCASE. ENDMETHOD. + ENDCLASS. diff --git a/src/z2ui5_cl_demo_app_015.clas.abap b/src/z2ui5_cl_demo_app_015.clas.abap index 228deda1..8ee3c8ac 100644 --- a/src/z2ui5_cl_demo_app_015.clas.abap +++ b/src/z2ui5_cl_demo_app_015.clas.abap @@ -1,58 +1,56 @@ -CLASS Z2UI5_CL_DEMO_APP_015 DEFINITION PUBLIC. +CLASS z2ui5_cl_demo_app_015 DEFINITION PUBLIC. PUBLIC SECTION. - INTERFACES Z2UI5_if_app. - DATA mv_html_text TYPE string. + DATA mv_html_text TYPE string. DATA check_initialized TYPE abap_bool. PROTECTED SECTION. + PRIVATE SECTION. ENDCLASS. - -CLASS Z2UI5_CL_DEMO_APP_015 IMPLEMENTATION. - +CLASS z2ui5_cl_demo_app_015 IMPLEMENTATION. METHOD Z2UI5_if_app~main. - IF check_initialized = abap_false. - check_initialized = abap_true. - - mv_html_text = `

subheader

link: link to sap.com - links open in ` && -`a new window.

paragraph: strong and emphasized.

list:

  • list item 1
  • list item 2
    • sub item 1
    • sub item 2
  • pre:

    abc    def    ghi

    code: var el = document.getElementById("myId");

    cite: a reference to a source

    ` && -`
    definition:
    definition list of terms and descriptions
    `. - - ENDIF. - - CASE client->get( )-event. - WHEN 'BACK'. - client->nav_app_leave( ). - - ENDCASE. - - data(view) = z2ui5_cl_xml_view=>factory( ). - view->shell( - )->page( - title = 'abap2UI5 - Formatted Text' - navbuttonpress = client->_event( 'BACK' ) - shownavbutton = xsdbool( client->get( )-s_draft-id_prev_app_stack IS NOT INITIAL ) - )->header_content( - )->toolbar_spacer( - )->link( + IF check_initialized = abap_false. + check_initialized = abap_true. + + mv_html_text = |

    subheader

    link: link to sap.com - links open in | && +|a new window.

    paragraph: strong and emphasized.

    list:

  • list item 1
  • list item 2
    • sub item 1
    • sub item 2
  • pre:

    abc    def    ghi

    code: var el = document.getElementById("myId");

    cite: a reference to a source

    | && +|
    definition:
    definition list of terms and descriptions
    |. + + ENDIF. + + CASE client->get( )-event. + WHEN 'BACK'. + client->nav_app_leave( ). + + ENDCASE. + + DATA(view) = z2ui5_cl_xml_view=>factory( ). + view->shell( + )->page( title = 'abap2UI5 - Formatted Text' + navbuttonpress = client->_event( 'BACK' ) + shownavbutton = xsdbool( client->get( )-s_draft-id_prev_app_stack IS NOT INITIAL ) + )->header_content( + )->toolbar_spacer( + )->link( + )->get_parent( + )->vbox( 'sapUiSmallMargin' + )->link( + text = 'Control Documentation - SAP UI5 Formatted Text' + href = 'https://sapui5.hana.ondemand.com/#/entity/sap.m.FormattedText/sample/sap.m.sample.FormattedText' )->get_parent( - )->vbox( 'sapUiSmallMargin' - )->link( - text = 'Control Documentation - SAP UI5 Formatted Text' - href = 'https://sapui5.hana.ondemand.com/#/entity/sap.m.FormattedText/sample/sap.m.sample.FormattedText' - )->get_parent( - )->vbox( 'sapUiSmallMargin' - )->formatted_text( mv_html_text ). + )->vbox( 'sapUiSmallMargin' + )->formatted_text( mv_html_text ). - client->view_display( view->stringify( ) ). + client->view_display( view->stringify( ) ). ENDMETHOD. + ENDCLASS. diff --git a/src/z2ui5_cl_demo_app_016.clas.abap b/src/z2ui5_cl_demo_app_016.clas.abap index 4facded9..0c7da62e 100644 --- a/src/z2ui5_cl_demo_app_016.clas.abap +++ b/src/z2ui5_cl_demo_app_016.clas.abap @@ -1,14 +1,13 @@ -CLASS Z2UI5_CL_DEMO_APP_016 DEFINITION PUBLIC. +CLASS z2ui5_cl_demo_app_016 DEFINITION PUBLIC. PUBLIC SECTION. - INTERFACES Z2UI5_if_app. DATA check_initialized TYPE abap_bool. - DATA mv_sel1 TYPE abap_bool. - DATA mv_sel2 TYPE abap_bool. - DATA mv_sel3 TYPE abap_bool. + DATA mv_sel1 TYPE abap_bool. + DATA mv_sel2 TYPE abap_bool. + DATA mv_sel3 TYPE abap_bool. DATA mv_tab_bar_active TYPE abap_bool. @@ -17,93 +16,97 @@ CLASS Z2UI5_CL_DEMO_APP_016 DEFINITION PUBLIC. DATA client TYPE REF TO Z2UI5_if_client. PROTECTED SECTION. + PRIVATE SECTION. ENDCLASS. - -CLASS Z2UI5_CL_DEMO_APP_016 IMPLEMENTATION. - +CLASS z2ui5_cl_demo_app_016 IMPLEMENTATION. METHOD render_tab_bar. DATA(view) = z2ui5_cl_xml_view=>factory( ). DATA(container) = view->shell( - )->page( - showheader = xsdbool( abap_false = client->get( )-check_launchpad_active ) - title = 'abap2UI5 - Visualization' - navbuttonpress = client->_event( 'BACK' ) - shownavbutton = abap_true + )->page( showheader = xsdbool( abap_false = client->get( )-check_launchpad_active ) + title = 'abap2UI5 - Visualization' + navbuttonpress = client->_event( 'BACK' ) + shownavbutton = abap_true )->tab_container( ). - DATA(grid) = container->tab( - text = 'Bar Chart' - selected = client->_bind( mv_tab_bar_active ) + DATA(grid) = container->tab( text = 'Bar Chart' + selected = client->_bind( mv_tab_bar_active ) )->grid( 'XL6 L6 M6 S12' ). grid->link( - text = 'Go to the SAP Demos for Interactive bar Charts here...' target = '_blank' - href = 'https://sapui5.hana.ondemand.com/#/entity/sap.suite.ui.microchart.InteractiveBarChart/sample/sap.suite.ui.microchart.sample.InteractiveBarChart' - )->text( - text = 'Absolute and Percentage value' - class = 'sapUiSmallMargin' + text = 'Go to the SAP Demos for Interactive bar Charts here...' + target = '_blank' + href = 'https://sapui5.hana.ondemand.com/#/entity/sap.suite.ui.microchart.InteractiveBarChart/sample/sap.suite.ui.microchart.sample.InteractiveBarChart' + )->text( text = 'Absolute and Percentage value' + class = 'sapUiSmallMargin' )->get( )->layout_data( )->grid_data( 'XL12 L12 M12 S12' ). - DATA(bar) = grid->flex_box( - width = '22rem' - height = '13rem' - alignitems = 'Center' - class = 'sapUiSmallMargin' - )->items( )->interact_bar_chart( - selectionchanged = client->_event( 'BAR_CHANGED' ) - press = client->_event( 'BAR_CHANGED' ) - labelwidth = '25%' - displayedbars = `4` + DATA(bar) = grid->flex_box( width = '22rem' + height = '13rem' + alignitems = 'Center' + class = 'sapUiSmallMargin' + )->items( )->interact_bar_chart( selectionchanged = client->_event( 'BAR_CHANGED' ) + press = client->_event( 'BAR_CHANGED' ) + labelwidth = '25%' + displayedbars = `4` )->bars( ). - bar->interact_bar_chart_bar( selected = client->_bind( mv_sel1 ) label = 'Product 1' value = '10' ). - bar->interact_bar_chart_bar( selected = client->_bind( mv_sel2 ) label = 'Product 2' value = '20' ). - bar->interact_bar_chart_bar( selected = client->_bind( mv_sel3 ) label = 'Product 3' value = '70' ). - - bar = grid->flex_box( - width = '22rem' - height = '13rem' - alignitems = 'Center' - class = 'sapUiSmallMargin' - )->items( )->interact_bar_chart( - selectionchanged = client->_event( 'BAR_CHANGED' ) + bar->interact_bar_chart_bar( selected = client->_bind( mv_sel1 ) + label = 'Product 1' + value = '10' ). + bar->interact_bar_chart_bar( selected = client->_bind( mv_sel2 ) + label = 'Product 2' + value = '20' ). + bar->interact_bar_chart_bar( selected = client->_bind( mv_sel3 ) + label = 'Product 3' + value = '70' ). + + bar = grid->flex_box( width = '22rem' + height = '13rem' + alignitems = 'Center' + class = 'sapUiSmallMargin' + )->items( )->interact_bar_chart( selectionchanged = client->_event( 'BAR_CHANGED' ) )->bars( ). - bar->interact_bar_chart_bar( label = 'Product 1' value = '10' displayedvalue = '10%' ). - bar->interact_bar_chart_bar( label = 'Product 2' value = '20' displayedvalue = '20%' ). - bar->interact_bar_chart_bar( label = 'Product 3' value = '70' displayedvalue = '70%' ). + bar->interact_bar_chart_bar( label = 'Product 1' + value = '10' + displayedvalue = '10%' ). + bar->interact_bar_chart_bar( label = 'Product 2' + value = '20' + displayedvalue = '20%' ). + bar->interact_bar_chart_bar( label = 'Product 3' + value = '70' + displayedvalue = '70%' ). bar = grid->vertical_layout( )->layout_data( 'layout' )->grid_data( 'XL12 L12 M12 S12' )->get_parent( - )->text( - text = 'Positive and Negative values' - class = 'sapUiSmallMargin' - )->flex_box( - width = '20rem' - height = '10rem' - alignitems = 'Center' - class = 'sapUiSmallMargin' - )->items( )->interact_bar_chart( - selectionchanged = client->_event( 'BAR_CHANGED' ) - press = client->_event( 'BAR_PRESS' ) - labelwidth = '25%' + )->text( text = 'Positive and Negative values' + class = 'sapUiSmallMargin' + )->flex_box( width = '20rem' + height = '10rem' + alignitems = 'Center' + class = 'sapUiSmallMargin' + )->items( )->interact_bar_chart( selectionchanged = client->_event( 'BAR_CHANGED' ) + press = client->_event( 'BAR_PRESS' ) + labelwidth = '25%' )->bars( ). - bar->interact_bar_chart_bar( label = 'Product 1' value = '25' ). - bar->interact_bar_chart_bar( label = 'Product 2' value = '-50' ). - bar->interact_bar_chart_bar( label = 'Product 3' value = '-100' ). + bar->interact_bar_chart_bar( label = 'Product 1' + value = '25' ). + bar->interact_bar_chart_bar( label = 'Product 2' + value = '-50' ). + bar->interact_bar_chart_bar( label = 'Product 3' + value = '-100' ). client->view_display( view->stringify( ) ). ENDMETHOD. - METHOD Z2UI5_if_app~main. me->client = client. @@ -128,4 +131,5 @@ CLASS Z2UI5_CL_DEMO_APP_016 IMPLEMENTATION. ENDCASE. ENDMETHOD. + ENDCLASS. diff --git a/src/z2ui5_cl_demo_app_017.clas.abap b/src/z2ui5_cl_demo_app_017.clas.abap index 5c96f400..8ed21fc4 100644 --- a/src/z2ui5_cl_demo_app_017.clas.abap +++ b/src/z2ui5_cl_demo_app_017.clas.abap @@ -1,190 +1,200 @@ -CLASS Z2UI5_CL_DEMO_APP_017 DEFINITION PUBLIC. +CLASS z2ui5_cl_demo_app_017 DEFINITION PUBLIC. PUBLIC SECTION. - INTERFACES Z2UI5_if_app. DATA check_initialized TYPE abap_bool. PROTECTED SECTION. + PRIVATE SECTION. ENDCLASS. - -CLASS Z2UI5_CL_DEMO_APP_017 IMPLEMENTATION. - +CLASS z2ui5_cl_demo_app_017 IMPLEMENTATION. METHOD Z2UI5_if_app~main. - IF check_initialized = abap_false. - check_initialized = abap_true. - - ENDIF. - - CASE client->get( )-event. - - WHEN 'BUTTON_ROUNDTRIP'. - DATA(lv_dummy) = 'user pressed a button, your custom implementation can be called here'. - - WHEN 'BUTTON_MSG_BOX'. - client->message_box_display( - text = 'this is a message box with a custom text' - type = 'success' ). - - WHEN 'BACK'. - client->nav_app_leave( ). - - ENDCASE. - - DATA(view) = z2ui5_cl_xml_view=>factory( ). - - - DATA(page) = view->object_page_layout( - showtitleinheadercontent = abap_true - showeditheaderbutton = abap_true - editheaderbuttonpress = client->_event( 'EDIT_HEADER_PRESS' ) - uppercaseanchorbar = abap_false + IF check_initialized = abap_false. + check_initialized = abap_true. + + ENDIF. + + CASE client->get( )-event. + + WHEN 'BUTTON_ROUNDTRIP'. + " TODO: variable is assigned but never used (ABAP cleaner) + DATA(lv_dummy) = 'user pressed a button, your custom implementation can be called here'. + + WHEN 'BUTTON_MSG_BOX'. + client->message_box_display( text = 'this is a message box with a custom text' + type = 'success' ). + + WHEN 'BACK'. + client->nav_app_leave( ). + + ENDCASE. + + DATA(view) = z2ui5_cl_xml_view=>factory( ). + + DATA(page) = view->object_page_layout( showtitleinheadercontent = abap_true + showeditheaderbutton = abap_true + editheaderbuttonpress = client->_event( 'EDIT_HEADER_PRESS' ) + uppercaseanchorbar = abap_false + ). + + DATA(header_title) = page->header_title( )->object_page_dyn_header_title( ). + + header_title->expanded_heading( + )->hbox( + + )->title( text = 'Oblomov Dev' + wrapping = abap_true ). + + header_title->snapped_heading( + )->flex_box( alignitems = `Center` + )->avatar( src = lcl_help=>get_avatar( ) + class = 'sapUiTinyMarginEnd' + )->title( text = 'Oblomov Dev' + wrapping = abap_true ). + + header_title->expanded_content( ns = `uxap` )->text( `abap2UI5 Developer` ). + header_title->snapped_Content( ns = `uxap` )->text( `abap2UI5 Developer` ). + header_title->snapped_Title_On_Mobile( )->title( `abap2UI5 Developer` ). + + header_title->actions( ns = `uxap` )->overflow_toolbar( + )->overflow_toolbar_button( icon = `sap-icon://edit` + text = 'edit header' + type = 'Emphasized' + tooltip = 'edit' + )->overflow_toolbar_button( icon = `sap-icon://pull-down` + text = 'show section' + type = 'Emphasized' + tooltip = 'pull-down' + )->overflow_toolbar_button( icon = `sap-icon://show` + text = 'show state' + tooltip = 'show' + )->button( + " icon = `sap-icon://edit` + text = 'Go Back' + press = client->_event( 'BACK' ) ). - DATA(header_title) = page->header_title( )->object_page_dyn_header_title( ). - - header_title->expanded_heading( - )->hbox( - - )->title( text = 'Oblomov Dev' wrapping = abap_true ). - - header_title->snapped_heading( - )->flex_box( alignitems = `Center` - )->avatar( src = lcl_help=>get_avatar( ) class = 'sapUiTinyMarginEnd' - )->title( text = 'Oblomov Dev' wrapping = abap_true ). - - header_title->expanded_content( ns = `uxap` )->text( `abap2UI5 Developer` ). - header_title->snapped_Content( ns = `uxap` )->text( `abap2UI5 Developer` ). - header_title->snapped_Title_On_Mobile( )->title( `abap2UI5 Developer` ). - - header_title->actions( ns = `uxap` )->overflow_toolbar( - )->overflow_toolbar_button( - icon = `sap-icon://edit` - text = 'edit header' - type = 'Emphasized' - tooltip = 'edit' - )->overflow_toolbar_button( - icon = `sap-icon://pull-down` - text = 'show section' - type = 'Emphasized' - tooltip = 'pull-down' - )->overflow_toolbar_button( - icon = `sap-icon://show` - text = 'show state' - tooltip = 'show' - )->button( - " icon = `sap-icon://edit` - text = 'Go Back' - press = client->_event( 'BACK' ) - ). - - DATA(header_content) = page->header_Content( ns = 'uxap' ). - - header_content->flex_box( wrap = 'Wrap' - )->avatar( src = lcl_help=>get_avatar( ) class = 'sapUiSmallMarginEnd' displaySize = 'layout' - )->vertical_layout( class = 'sapUiSmallMarginBeginEnd' - )->link( text = '+33 6 4512 5158' - )->link( text = 'email@email.com' - )->get_parent( - )->horizontal_layout( class = 'sapUiSmallMarginBeginEnd' - )->label( text = 'Hello! I an abap2UI5 developer' - )->label( text = 'San Jose, USA' - )->get_parent( - )->vertical_layout( class = 'sapUiSmallMarginBeginEnd' - )->label( text = 'Hello! I an abap2UI5 developer' - )->vbox( - )->label( 'Achived goals' - )->progress_indicator( percentvalue = '30%' displayvalue = '30%' - )->get_parent( )->get_parent( - " )->avatar( src = lcl_help=>get_avatar( ) class = 'sapUiSmallMarginEnd' displaySize = 'layout' - )->vertical_layout( class = 'sapUiSmallMarginBeginEnd' - )->label( text = 'San Jose, USA' - )->get_parent( - ). - - - data(sections) = page->sections( ). - - sections->object_page_section( titleuppercase = abap_false id = 'goalsSectionSS1' title = '2014 Goals Plan' - )->heading( ns = `uxap` - )->message_strip( text = 'this is a message strip' - )->get_parent( - )->sub_sections( - )->object_page_sub_section( id = 'goalssubSectionSS1' title = 'goals1' - )->blocks( - )->vbox( - )->label( text = 'goals1' - )->label( text = 'goals1' - )->label( text = 'goals1' - )->label( text = 'goals1' - )->label( text = 'goals1' - )->label( text = 'goals1' - )->label( text = 'goals1' - )->label( text = 'goals1' - )->label( text = 'goals1' - )->label( text = 'goals1' - - )->get_parent( )->get_parent( )->get_parent( - )->object_page_sub_section( id = 'goalsSectionWS1' title = 'goals2' - )->blocks( - )->vbox( - )->label( text = 'goals2' - )->label( text = 'goals2' - )->label( text = 'goals2' - )->label( text = 'goals2' - )->label( text = 'goals2' - )->label( text = 'goals2' - )->label( text = 'goals2' - )->label( text = 'goals2'). - - sections->object_page_section( titleuppercase = abap_false id = 'PersonalSection' title = 'Personal' - )->heading( ns = `uxap` - " )->message_strip( text = 'this is a message strip' - )->get_parent( - )->sub_sections( - )->object_page_sub_section( id = 'personalSectionSS1' title = 'Connect' - )->blocks( - )->label( text = 'telefon' - )->label( text = 'email' - )->get_parent( )->get_parent( - )->object_page_sub_section( id = 'personalSectionWS2' title = 'Payment information ' - )->blocks( - )->label( text = 'Hello! I an abap2UI5 developer' - )->label( text = 'San Jose, USA' ). - - - sections->object_page_section( titleuppercase = abap_false id = 'employmentSection' title = 'Employment' - )->heading( ns = `uxap` - " )->message_strip( text = 'this is a message strip' - )->get_parent( - )->sub_sections( - )->object_page_sub_section( id = 'empSectionSS1' title = 'Job information' - )->blocks( - )->label( text = 'info' - )->label( text = 'info' - )->label( text = 'info' - )->label( text = 'info' - )->label( text = 'info' - )->get_parent( )->get_parent( - )->object_page_sub_section( id = 'empSectionWS2' title = 'Employee Details ' - )->blocks( - )->vbox( - )->label( text = 'details' - )->label( text = 'details' - )->label( text = 'details' - )->label( text = 'details' - )->label( text = 'details' - )->label( text = 'details' - )->label( text = 'details' - )->label( text = 'details' ). - - client->view_display( view->stringify( ) ). + DATA(header_content) = page->header_Content( ns = 'uxap' ). + + header_content->flex_box( wrap = 'Wrap' + )->avatar( src = lcl_help=>get_avatar( ) + class = 'sapUiSmallMarginEnd' + displaySize = 'layout' + )->vertical_layout( class = 'sapUiSmallMarginBeginEnd' + )->link( text = '+33 6 4512 5158' + )->link( text = 'email@email.com' + )->get_parent( + )->horizontal_layout( class = 'sapUiSmallMarginBeginEnd' + )->label( text = 'Hello! I an abap2UI5 developer' + )->label( text = 'San Jose, USA' + )->get_parent( + )->vertical_layout( class = 'sapUiSmallMarginBeginEnd' + )->label( text = 'Hello! I an abap2UI5 developer' + )->vbox( + )->label( 'Achived goals' + )->progress_indicator( percentvalue = '30%' + displayvalue = '30%' + )->get_parent( )->get_parent( + " )->avatar( src = lcl_help=>get_avatar( ) class = 'sapUiSmallMarginEnd' displaySize = 'layout' + )->vertical_layout( class = 'sapUiSmallMarginBeginEnd' + )->label( text = 'San Jose, USA' + )->get_parent( + ). + + DATA(sections) = page->sections( ). + + sections->object_page_section( titleuppercase = abap_false + id = 'goalsSectionSS1' + title = '2014 Goals Plan' + )->heading( ns = `uxap` + )->message_strip( text = 'this is a message strip' + )->get_parent( + )->sub_sections( + )->object_page_sub_section( id = 'goalssubSectionSS1' + title = 'goals1' + )->blocks( + )->vbox( + )->label( text = 'goals1' + )->label( text = 'goals1' + )->label( text = 'goals1' + )->label( text = 'goals1' + )->label( text = 'goals1' + )->label( text = 'goals1' + )->label( text = 'goals1' + )->label( text = 'goals1' + )->label( text = 'goals1' + )->label( text = 'goals1' + + )->get_parent( )->get_parent( )->get_parent( + )->object_page_sub_section( id = 'goalsSectionWS1' + title = 'goals2' + )->blocks( + )->vbox( + )->label( text = 'goals2' + )->label( text = 'goals2' + )->label( text = 'goals2' + )->label( text = 'goals2' + )->label( text = 'goals2' + )->label( text = 'goals2' + )->label( text = 'goals2' + )->label( text = 'goals2' ). + + sections->object_page_section( titleuppercase = abap_false + id = 'PersonalSection' + title = 'Personal' + )->heading( ns = `uxap` + " )->message_strip( text = 'this is a message strip' + )->get_parent( + )->sub_sections( + )->object_page_sub_section( id = 'personalSectionSS1' + title = 'Connect' + )->blocks( + )->label( text = 'telefon' + )->label( text = 'email' + )->get_parent( )->get_parent( + )->object_page_sub_section( id = 'personalSectionWS2' + title = 'Payment information ' + )->blocks( + )->label( text = 'Hello! I an abap2UI5 developer' + )->label( text = 'San Jose, USA' ). + + sections->object_page_section( titleuppercase = abap_false + id = 'employmentSection' + title = 'Employment' + )->heading( ns = `uxap` + " )->message_strip( text = 'this is a message strip' + )->get_parent( + )->sub_sections( + )->object_page_sub_section( id = 'empSectionSS1' + title = 'Job information' + )->blocks( + )->label( text = 'info' + )->label( text = 'info' + )->label( text = 'info' + )->label( text = 'info' + )->label( text = 'info' + )->get_parent( )->get_parent( + )->object_page_sub_section( id = 'empSectionWS2' + title = 'Employee Details ' + )->blocks( + )->vbox( + )->label( text = 'details' + )->label( text = 'details' + )->label( text = 'details' + )->label( text = 'details' + )->label( text = 'details' + )->label( text = 'details' + )->label( text = 'details' + )->label( text = 'details' ). + + client->view_display( view->stringify( ) ). ENDMETHOD. + ENDCLASS. diff --git a/src/z2ui5_cl_demo_app_017.clas.locals_imp.abap b/src/z2ui5_cl_demo_app_017.clas.locals_imp.abap index b0f14e79..e420922c 100644 --- a/src/z2ui5_cl_demo_app_017.clas.locals_imp.abap +++ b/src/z2ui5_cl_demo_app_017.clas.locals_imp.abap @@ -1,206 +1,206 @@ CLASS lcl_help DEFINITION. PUBLIC SECTION. - - class-METHODS get_avatar + CLASS-METHODS get_avatar RETURNING VALUE(result) TYPE string. ENDCLASS. + CLASS lcl_help IMPLEMENTATION. METHOD get_avatar. - result = `data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/4gKgSUNDX1BST0ZJTEUAAQEAAAKQbGNtcwQwAABtbnRyUkdCIFhZWiAAAAAAAAAAAAAAAABhY3NwQVBQTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWxjbXMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA` && - `AAAAAAAAAAAAtkZXNjAAABCAAAADhjcHJ0AAABQAAAAE53dHB0AAABkAAAABRjaGFkAAABpAAAACxyWFlaAAAB0AAAABRiWFlaAAAB5AAAABRnWFlaAAAB+AAAABRyVFJDAAACDAAAACBnVFJDAAACLAAAACBiVFJDAAACTAAAACBjaHJtAAACbAAAACRtbHVjAAAAAAAAAAEAAAAMZW5VUwAAABwAAAAcAHMAUgBHAEIAIABiAHUAaQ` && - `BsAHQALQBpAG4AAG1sdWMAAAAAAAAAAQAAAAxlblVTAAAAMgAAABwATgBvACAAYwBvAHAAeQByAGkAZwBoAHQALAAgAHUAcwBlACAAZgByAGUAZQBsAHkAAAAAWFlaIAAAAAAAAPbWAAEAAAAA0y1zZjMyAAAAAAABDEoAAAXj///zKgAAB5sAAP2H///7ov///aMAAAPYAADAlFhZWiAAAAAAAABvlAAAOO4AAAOQWFlaIAAAAAAAAC` && - `SdAAAPgwAAtr5YWVogAAAAAAAAYqUAALeQAAAY3nBhcmEAAAAAAAMAAAACZmYAAPKnAAANWQAAE9AAAApbcGFyYQAAAAAAAwAAAAJmZgAA8qcAAA1ZAAAT0AAACltwYXJhAAAAAAADAAAAAmZmAADypwAADVkAABPQAAAKW2Nocm0AAAAAAAMAAAAAo9cAAFR7AABMzQAAmZoAACZmAAAPXP/bAEMABQMEBAQDBQQEBAUFBQYHDAgHBw` && - `cHDwsLCQwRDxISEQ8RERMWHBcTFBoVEREYIRgaHR0fHx8TFyIkIh4kHB4fHv/bAEMBBQUFBwYHDggIDh4UERQeHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHv/CABEIAZABkAMBIgACEQEDEQH/xAAcAAEAAgMBAQEAAAAAAAAAAAAAAwQCBQYBBwj/xAAaAQEAAwEBAQAAAAAAAAAAAAAAAQ` && - `IDBAUG/9oADAMBAAIQAxAAAAH7KAAAAAAAAAAAh9pMrGnC8gxLKqhaUMqzdVLV49GkAAAAAAAAAAAAAAAAAPPdbSYqcNfyerdabSYcu3R5czFlfc2ebnlurvP0bO1t8Rntn3trmLvZhvWGfpcwSAAAAAAAAAAAAAMM4K0eu5tNfE1vi980FPDj0yj8xytIjzJfPYLxgVehsElmsZ+SR3bzoOO2vbz9Or2PZ4AuAAARScpjbrBtUAAAAA` && - `B57FVqdLY0Hid+z91Dn0nrV/ODaeHzCEiWWZqxzpmKK1nrFKTH3Jbs1F624/ICxH7BeO+3PE9d73nWB34gAK3Bcxx62tHu8/B9D7CPqvKAAAAAAUZtLlbU6qnJ816dijlBy6ye1/azP5h5MJ447Tc8reSueU1mGeGFJt2tZetEvtf1W3Jh7ZR63m9hvn9AazZ/R+YGtXFdh+eKTJ2dL35n1dlRvR8G/wBTH3HhAAAAAAY8hd5vyurRyy` && - `YeF3+4yyVVlvV9lbdvXrryhBpS/jprWldn5TgxvssNLZynYYWIuTVNBEi5nBPaJovdVpX6R0PzzvPb4Z9HyXO9mO4rS7/z+vl8Ot0vJpnJQx8nr+tD7fwgAAAABWNNxvY814vZQ11uTi6KM/VY2c9a2dKWdG9elQuzZZ2p1dz5aNXcnzrPP6ft/dI+eU/o9fSnD3Nro4bCbCzxbR+PYiTmuv5D1+Ta9Xy6bbfU9Bscr8hFuufovySa/w` && - `ATr+xtVovr/H7JpNz0Z+udg5tOoy+WfRqWu+cfR3p3ul4mrxb9V1HxW6bfUe7ettL1kN3i3rayzyFdL3nL4d0d7d4jd8c9XZ1myxiT3DOSSPyJ9jeZ3z5nfc70Z7v3UbFEEfQULRrItbsazsPiX2nqvW4vmu2+rurL4/yH2LivI7Ndeml8frqjGd7y2F/vxpWM/YXuX3fhBjZrpqbpbTQi3HktdBt9VaNpHhrN6drnPFS3O8T3HE630W` && - `p38HrccvT6q5wdHZ7fR7jztJZIJZrDPTix0v049LtXDTU4exsN5xW1i3eXud6vDLk61yLWnvS8/wBRpn1o9zh4Pn9nV+Z9OKKxW83pxymyMNfcytGvz5m/3ZbvF75uoWiLZa2z0Vnx9hi3mo3FA22Me17MZNlrN9tTT8j3XP8ALtxljfXbW5ybfV6sNVyUfrc24l0Tqz7ff/Kuw8fo6rltzz7Tk69jD2eLa2oZOTr6D6B83+i8cc6wmr` && - `S39A0299fhRyfN9q83egk+S9aaBjz6zZw+F+v7alo4po+nObPW7DNI8957VtnQ2fTWeLKpW1OGbyYz6fk9x2Uw67ien6MtXtaewpMbyHm0wp+3aW+Ow9Fy30vHYMNYzv6nocZ6Sj1ev8Ls5Kj2cOluT22yu6xPsr2hrhFvIOp2x3vp7PF58u+o/F+XWrf8fKer6eZz74xlZsQZzMHD97y3o87b6+5nrdHBZnDf2iSJ5FqcFmprWG/pLP` && - `bHYVfK+uXa6mXYMtdVzpcm9XX7CjM6vlur86o4qx01Psz1H0LjM8XV7rm+l8veDX7HYXrr5b9u9cefvQ9GfO7TWaHen2roPh212y+j/HMbnFtZHh9npSvF1rJda9Bhfp5a16GxoTXVbCpf3rI8clvNhR2W0Rxz1kx4zZROns7eG8avY0ZOim16/wCc7joy7LVT2dcdDq+112WvznTd5pNdtBPPY0vX30+9xyoS7u5XLU3L+N60Mdhps9` && - `Kmgv67orUgylx0bbS7Xg6LdaSDmiHz3GIo7jSfbvb4vkPa9l57HH85r+VfkPbVfY84193TX+7O3nq9xy6RRX8L1t1868xJ7VnytZu66WLWef2GOjTbjXw9FNphD50Z9jtOC28U6rnsq3Tlhv8AR+0t1cuh3SMlWG9dhHrb2do+P8qxenYqZZaSwRXOXbK0wwnPCTyiHn91vvS5er6I+m8wJfnbcdBxPi93R8v12rl7B9O+U47WthrveP` && - `p3GVSbjT51/YeeT+zEC5qJWpq9qFGls8rofJsbRW9wq3jaT6yakbDV2o9Ir2ZKu1bF3UY613NShZq10/mFLLXsvFqvUs85u1ocjBrJOvGx9ayv/T+YG9APn+gw7PxfQg1nNfQ6zlrtP9G9fg+JQdXzfzvrSbHGfi1zmr+5xNHH4WdVnV6WxlxmxV5sPaT7Yj8R5NhOVa1+OYizmwu8pzwWQZZQ2UJ7WOlfes4H6Z6nLzGi+7aXs5fk1n` && - `caDxe3XXfqe07sNTv5XqcoaQAB8o0v0/5zxdHU8po+q59cfqX5+7zu5vpny76tpqPm3ul3Hz3pZy2IOLbGPHGEUE1Ppm5s9LuJqg9x55m8wyqzkhxlJhjnLCT2K0z1LtG0V/fZU4UL3FdePV9hwf1b0OfqR7HAxyQCQAAACKUcjF2Y+bdhuQ1ezZz8mg7T598z6m5i1t3i6GM0UK1K1F2MdvWzwjzLGzkwZRyPJDLySOzOKxHZLrNtq7` && - `R7DYp1mpn59Z9blqdT577PnhpUAAAAAAAAABzvRKz8kqfY+Y8nq4irutN5Pdrc85NdLtnzziiKaH2izhHJePJI5peeY+Js4QSWjyPH2Jg1l2Pam8+qVrP1HkhtQAAAAAAAAAAAABqdsrPzLR/VdV4nfxvtuj5nTPDHLnaOK3jSayWOqXDDKU+FddlHc0+ij23NfT/W4uiHt8AAAAAAAAAAAAAAAAHnJdd5nb41qvpdDwO7msukmlzGG6` && - `53O932jd8/eOhdw6I0fV9L2PucGi3x6PKEgAAAAAAAAAAAAAAAAAAAOUo9ypPPbqdSfPTaoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH//xAAwEAACAgEDAwMDBAICAwEAAAABAgMEAAUREhATIQYiMRQgMBUjMkFAUCQzBzRggP/aAAgBAQABBQL/AOIEik815E` && - `7CWbYQtyRJOTM6tDC3tEx3eX2xv7R5/wBOfDNOFaWcGrPIdorXbxrsUciT9qb611bkeZsIuLMjCKwi5C7MxYD/AEk9qKOJ7QaF7TdqIwFecgl5eJCzytEjIQOfc82P+w2XVh9TKy2yhhkM0oI3/wBBO4jiM0vOZmZZGVkd9wzHpv0/oHH9rO27cUdYqtYMEXnBqamzDOUlgmWb8jMq/wCDyG+TOQ07M0bSxvkjYxzl9gOb5v7n8sm+6D` && - `x/S+Mn5SLC1ZVrzxwy90b/AIrMiyWvznJ/cWuBJHuTugcNj8FY4cObdTn9HfB8rifAOb5y2wszLVT6eao6zL+CeaKCKW/aOpXktWo/zyDdb8ipHZ7xDRyYzYzed85YTkZ3wqMPgkZthTww2O+Jm/n+unafuU5oUWBw8f3ep9eNKcwq7Yw2H51swvlt4GeNRG7EYW3+zxnlT3MDA5yGK45SyhRy3KnOWKMkPgMNgvT+B0m6WP2+otfTSH` && - `gqW7EyRjOIGEcm/M0cbPrUwSqqnYsc84VzcjNzgPIec23GxGbHouOubdY29r+SrbZv0kZRlJzEK5LfZK6xR9yXVdbeCxFPBaEq/EcKbfnPgao8Bd+TMvnCM85tixtm2xC4hj71vaFIZgZbHKO9GuXGWCsiMRxzbouclXEYnNzvtuK8pSbTnCjpqup09NhNrVtZwWtN0tZ4NZuRpHHGE/iPzyG1PjRhW4cW2GecVdsbY4qXIMhuwyOLgF` && - `qftWEne0a4r9qJ7H1GnQ2y0HNXe+0l5xaginOwXbNs+MUk5vxC8jl32PptgFI/Ed/XZ7U6wVNPnapqGoZUqVqiWTKEb3VmkIxZD+ezZiSabeRpO0mSTESmeUH96XIqzoIlkYzU45h+mRQiOojJ9PHstZRkmn13apWCQNGrY2mDuT6RxSW7HBkNi5CrXZmyt3zEPGKyjJJG4x7yYWmU6prKai2nC5chqVK9RbOs6bXz9Xu3M/S9RtiMwB` && - `FUvioB+aeITJZijUS8VEvGVdOeGdpOOJtkpULJIZBAeGI/L7Dg6+MfYZskmTVpt5I5pZGWlVdos2zf3WohYg0+tQkw6tbuv+jWreVdNo1clljiSxqcfb09u5QMqJH+PfNTuTVY6uvVrBlmjjr6hqUggBsyzpp9iSSvEteuXbjPOVw2lV/1FWyOyDjMpSvIZI/tY9FC5KX7tMSLHPWr2MkpKK9ebuY3tMs6RrHEl7TJl7kunnWIqwq+q7` && - `Iv6VqMIp6Xsy1YxGAAOmpTtXr1NWO7XuwoII1S7LVl1K/tAbM/KpMJ4LOuLBbteoavCXUbCkak0jypHLPJekk03TUMVeqO0tDuu8/8ZmLPdlOGZBO86bUZA2CVxlUA/Z8Zv0OSS7LuWaNYFyNjHEMuV6thI4IKGpN7cjtj6PQipq9PUJZ68AVkC7koAvSC0ZIDYeZe+e3pl2TTkt6oLNQz6kSJvadYv0ZK917WRhmJoQb/AECM8lFXX6` && - `AZDwVmnHerR9uM+TqBKJZX2S/+1YmmY0NzOCA1ItwHRfgndtsLAY7ZbtIJZboZorQfKs2UXSNZduOowrJHDyReRhT0/Mtmbp6ktJiqwRcPksu2KufRKcAChQFH2GJchcMgYYXGKwySQKJpxtpvLaWQ1dRQqyv82w0j213MsbSKIpCa9E4xBer4A6DHfge4zYx2yzORg/cTtgmeFlytIdqs6CJwNrDSMxAORycF0CuE6+oQsOrowZW+B/` && - `I4vgL4N0vHVRHWIH7GcJHGTFFt4GzLknwxMktCUSrqiiKh6fl72jWPa7qvdtQbSGBkf9zi6WNq0DAtZSul3WSMbU7UuR6paRotXVxFMr43xb5MZ7vFIH7iVCWWIf8AGpuFLYg9z7Sw6T3ZrKqFXGIVdQnGr3IzthbpvjHPdngibTVL1qvBMHjD0klWLKhKQmIMeTKW840cTGGWOJbsPeTQuK0m85OVGScp8jjbII2lEsBDWX7MMhdpOo` && - `+dNk/aaQkSv7rVcDIgu1U9kJuTUQyVz8RbfVceNnS67Rr09WTtNYAAH2E4Vw/N0BM5e5CCvWXkrxbMvxjlWUboZAcqI6zFv2dP71eMEY8kImX/AKv6PjJPcbNfmkoZZNxv1rWRHKOJaxHs8gZcPMhVytEDlCJkuz3qql+5XWrStPYHx09YRxF6VZKsP2q5xkHG6haFCsizuI2HWX/qi2CNjHJv4OcqN7q7ho527KJKHFqKSK0cPwG2M0` && - `0cMjuM1qDt2JU5dGYKsTlxpUMk06xIuWIC2SRAEx7Yw4oqFo40VM0w86FkJ2dMjjjPX1CbMuv/AGsOSo2w32xxm/bnqx9nIz9lRdovGFcn8ZIMDlRSkLp2YJ404VraqstcM8chGS7ZX3ZZoe1kkth45+KZ3ot+BICnfSwtara1WrFKSNmYrKieYoQFpQuJW+KBP6dYkkLaLqcl2LR9Ug1Kpl65FVWxNJJr/wB3Bh0cbpPFKIySzxDrJ/` && - `ADx4zlhV/qLhdWIJOnxyfStMEhuDuNpk/PJIuUzwyxksj4u0KzuJF5EZzxoYmMtKu2GnJxFGc5ptatVCjcHj9QI/PZ3YZqjt9P3U+mDcLmnqDIaoeDu360bnULUkFZKw6zySxtYtxJUrzFqvkBvOKdstxCaKM96xGNj08cuPgr42w5aj7qtA+5T3HkM9vANwkgbnGVByairtbhsqLdEvk8bQgd9yJHRlkDKjxbwRExIqAdt5hXqurcPC` && - `rv0MIDF1xuTGuu2JvvEcY4V3w9GtIskNSxwm9K25pqmgww2eI228zLtki80UtHi9QGJ2bCG23Occj6e04++RO4DSK8dG1ImRS8o45Q2P5yWJmW3GUyeFcaLK1KOQR0bPOPT25JWC4EAzbxtn8VtyiGGtcLSVi8mE7tHyXPPOJ1wsMLdN80erNqWsV07UHSTwTk536Ozzug4Jy6MWAq2ZpGLq+c9pGPmP8Ak5xG2ycLJkvKNmHEV3R1Mk` && - `aYthomq3BNGrjjH8NocDW49IfKkNeNQV6Myqu+E5vvjyZavHt3e3OzlTntUdxsXNxh2w9NU+oNnQNPGm6b1lsQDJG2bGOwoN7CTi78lXPGIiIfbvPEtiLyrRHfJP5E+xmOSDupscQCM9/bDDs/1EmLqMG0mrVIIV1STc6nu0traux5FW3yWQCQluctjkxZY4bWoYZHmwqBm+FeeRrnHYYHyQ75JKiN6Zi7+qfZrtUzw1p0kr3eVTNOjF` && - `xUiCqcXYFH3weegAwuNs24tIds38YnxKu+cX34lMVuEcrIX2jbIo66YGj37cThYJfp5Z27kN2QYl/6ZX1NXr92btSzSSL7e9yO4PIquIo3ATbYZKNuhzT9Os6pNp9SKjT+yvo8Ea1tOKapZr3reRJ+k6/f0arZS5Un013AXIzitgJ6hc3GMAUQgOMXGGxCjkxJXtOymPgFj4ZuSVbfGH7KkbGDuKI1xj73i/bhfGbi+tR/8epMtrOPXk` && - `dt8Zick2sWKFG5bWjWSrX+3Srf1tP1JBLG1OxHbq6/T+t0v0ve/UNG9ThpCzxSn4xB4iB2AwADDnLOfiYBZcXP7TEHvObbkRqceFebx75CrMJ4jyh/jttkLMJ3yPl9VZf9hrEdjTadClrFK16YtVhBZPftWoqxkHOIR6lXVINUmFHSKVaBEVF+67y0nVAUliqN+h6rnptxQ1+1CLEGpadCqmFYrSoM22Azlm/RyQflot9/ktiYvQYpxz` && - `gxXAzcg2AJMUBVJzlg2yQK6inG170o2+m5qmm09Sik9NTo5qTR5WoqYoa8UR/BVss8gab0/atwVtTpULk2k2PUivWkqzx2a7KrZPBIJ99sjlEgzjmwxskG422yFt25+1vjB8YM3zfP7YYDhHg/P9qmcfHfTt1OfP0XIWqdSAfx65pNbVa1ie3pyV7n6Szaho2rVdN1C1Uq/wDju13NNzWIzLp89WVJqCTBmTyTh6SfxL5AT3mXN+m/3H` && - `p/TEHF+cncRxdt2kSvaYena7VqP53VXSf03oszr6Y0UQt6M0ovpmm09NjzUp3r1bM8liVH4FZd8Yqehxjk65CvHOftwfaB0Of2w9oHlVx/B1BlMMarNe03S0rS/wCPe0oyyuWWRG6AKcchQZUAB5FFGEdFGHDgxeg+WwD3N8EeVOwk+WhabKWnQwf5Wp6TWvZd0+1QxGVl3GOw3lILJkfwfIxW2zflm2AYBhxcbBjPh+GyYuZtH0y3LY` && - `/y2UMtjQ6MmWdNuV8Oxx/mIe5V8Hx1U7ZzGKw3LjiMLYCSPgA+WOWG4QNGfrIIkhT/ADpqFaWTUoYDLGnHEbYJ7maIKWGbYevL2jydxjHOWM+XGsCv6cgsWbP+gtUYLBn0iKTLNGaqIQJFlu1o5kIzkoxvdgDYegGH5Q+9osszwRSsjSJolZq8P+j1jShYL0xAm70sBBG+cm6ADGI2PxZjkdIrlmNNB0uSzXqaTp9WT/S3NJeSUaNZ3X` && - `Qmq42lpap6h6YqcXq6tUEE0cyMWijgtO4cO+aJE8h/1uqaJVuSSaLZsQ6dpwrHtx//AJ1//8QAKREAAgIBAwMDBAMBAAAAAAAAAAECEQMSITEQIEEEMFETMkBhFCJxYP/aAAgBAwEBPwH26ZGLlwaWVtZoY1X4aViiY4aSWNMWOPB9NcDwpk8DW/j8GON8mPGluutdkkZowkrXJVdsY6vZhxRHGihIvq0V00ozRad9mLC8hHAkq9iMdT` && - `ohjUe6l1aEZIa1RKOl10irZhUI7L2cEKdsRY5mtDma35Hk+BZdyxj2JSo9RCnq+SONyIQrghGpl+xgWobfg3KP9KKsqhwRUvkUmuRS1DRmbk1Ei/jcqT5ZBLWq6RxSkrXRYpOjJheMWOTZ/G+WTwqtiEWtkRVbiNUT+r60KkNWbeRqt0KVozKX3M+pIw41JLUKCXHT6b/weO+RYv2Tx6lQov5NK+DQiWzvpHcy422YoNLca6bsoXTjYS` && - `M7Th09LWnqyLlxXX9Iv5GiW6FwQZsfsnkci2YsjezORqWrcxp1uPk8GSepkVqdGKGldnkvp5EIcdjHG9iD8dOdiacekN3sb9JMkyb0x6YuRKlS7M6sgklt089Wfa7RLaVohKxUSxavJ9CRCMoPghKXkctx7j5Gm9vkfpZmLD8dG6Nauhj4IcdnJQ1ZONKjdEXa3E09jdE8h9QUxSsZjXZP1Gkc2yxkN9yhoqu1414HEdtlPySjRFWaaV` && - `lfBHH89nqJVHrqlGWquTJkfNbEPURfY+5UOCY8ZpYoXyJqMqfY8lE5anfX7lpYv7KmVUqZDJa7GuxdKKNJo2M7encx5pQIZdY8yWyHJvsjlvnk1p7+TK1J2jHkcHZDLr9zJNx4M/2+2nTMWSD49pdMuVQJScnb9xNrgxeqa+4hkjLj2cjpGSep376bXBj9StNMjNS4L7Xtyeoez3/CjJxYssK5H6tEPUprc1I1J7GbI09Kf4+pkpuTt/` && - `8AL//EADURAAICAQMDAgQDBwQDAAAAAAECAAMRBBIhEBMxIkEFMDJRIGGRFCNAQnGBoRUzYLHB0fD/2gAIAQIBAT8B+XvWPYqeZ3F4/OFwG2zvpiK4b+DdgoyYzgTUXb/eJqSowTDqG85neY8xNQynMq1q/SPMBz8/Mt1AXIl+oY8NN/tM9dwKwMRwDK255mltsqbax4gYN4/Dbb2wPkHxLGOcy3UGM+ZmbYBPaZmeiMfGZo7ARt9/wa` && - `rWLpxzH+IOz7sfIts7aFpbqmsP2h5m2bZzMkTuQGDoRKbTW4fMqs7i56O20Zmsa6z1P4+TrLsjaI5yZiVUBhP2ZsxdOMifs6+0TTYPqj6QgceYVIgbMJlI3HbPh9uRs+0e0Lx7y24N9X6TUuWpMz8jWN2v7yupT6mmUHgTvcQWH2M3mdxl5ELk8wXvN6eNsamtxheI6duK4M0QRFLxwf5jiBqx9IzNSz9k7ulmrrrfYxgYGPq60zn2mm` && - `1q6gkAYj3qFyOZ/qBIyFleqYNzyP8AqXWBuTLW3cSpd5nZ+wltZV4fPQECHJlb7BNxzlTNwcbXj0BCPtNG9eNg8zspnJE1mosrLds8Sy2yz6j0a5Bg/VBqgowBDqxnO3P9Zp70R8kR7F9lxBe494NQ/gSob/QYRKm28Sq1dvMvtV39MzBAwB5iA2TZWP7S2pWGVhU+YWO3BmkDC7IHT4kW7uOtbAMCZfTV9W//AB0XzPI3mFR/LKWAbm` && - `Veh/ylmNxj7hyJ3HP1CG0n0CUaFE5bkzsp9prtKtfrWU8CIU25EbBY4lnEb6hNNVsXMscIu4zUXm18/gH+2CZZXgbugOU5jGZz6pk7pqGxhpao4MMAK+oyhxYgPTUbdh3TuLmLqlHmDVBvEQBjuMqUWPg9NV9Mscu25ug6aB9uRNSS3LdEOF6BPGIAoXMr/eJgxeV2mWrt8Qbs5HiU3dvwINYv2mpZbVxuxLq1H0QV+nmIAg4ir6Jwo3` && - `H2xB8RqJmq1Z5Dfp0rrLnAh07hdxH5dEOGBl5/ToviGKxQ5m9m8SqxhEbcd04PmMNrZWI20ciFkxmbc8zt5hSbIuRndLm9paoHQDMr+HB+PH/uLSBj3xGUjzPMuXB7Y8COm2V2KoORA6scGMpEErYTdBccYMBPtEyohsOeBEfMZsTcWMU45eW6jIwszt5MZs9PhtLNcDjiAY6dmu2vYW8TT6ZFUqp5M/Y7F+qOm4ZhGOgOIFyIOYlm3z` && - `E++YPyMbf5Jiah1WLqhjOIbUOCRLLyDtUQq1lYsEdpnoml3e/MoTtoB1PoYOvj/wC4jjtuGWE5TKwgKdsd93WsY5hXH4Nxm6ZUDidw+07wLgkTSIgcbP6zU6Ou8c+ZdpBSQPf/ABK9K78kD9ItajnH4Hox9Pj7TtlPSRlZQpRdpmo063JtMu0nZXk9a8kS0YhOeoHTEJxNLpxaCzTRt+846Yz8mxSykAy7SXglmjDExK/QJY5aAfgIjQ` && - `HM0VHcA+3P/iIioML8xlDeZqvhgc5TiGlqWw4juNsMHEzBiZgbMJzKF5/WU17Ex88qG4M1GhsJOBxLaHr+oRqyvkQ9MwGJWzHiaHJZfT9/4J0DjEbT6jeQVyIPhNhPniW/DWU4Q5hrbOMREao7jNLUtibyuMzGP4YoDK6ErGFH/F//xABGEAACAQIDBAUJBwIFAwMFAAABAhEAAxIhMQQiQVEQEzJhcQUgQoGRobHB8BQjMDNS0eFAYi` && - `RQU3LxgpKyFTRDYGOAwvL/2gAIAQEABj8C/wDoiKiak0INTURWNGDBhkQdaM1nQit4/wCUZV94rJrvEZZcZ4eupDAzp39ArDMNhxaZctawoGKXjiMnsN+x+PjRRVnKrTMReuZjEMlUE1LnCAMyayPGNKKznrUGsz/knWF0wnjOVddYw3l/tarZwA4+KPIA512MGIySsozRz40Zus68jGXsFZ60r4hC6CM/bWDNVOoGlSZ5ZmhnSNk2Hg` && - `aWQsTGpn2RX5vUriywgY45cRW4FPjQDVH+Qs7MFAEyeFOOt2hwVOsIAfUMVBt2eKzkKwOAycjWfn5dBV1VlOoIkViGz2QRxwClaAxTsltR66Fm0tw3PThOx4zUnMUY/EzMf0MSOjKssJOoxaVxVxqp1HTn581nr0R0YVYgTvDLeHEZ0lpQbWiqr5cNBz9VKhbt1H4bq90W1WTJMRA/ocs66tTcYgwcPCvzFLYTK2xJB/3HL2ikduu6wL` && - `Ha+IGVGAATrA/oIJpWGQyG7p4Rw9VC4Du8+f4LXbzqiLqTW1bXsDP9mv4d05Yt2MQ5Vd1APosRLd8/0EUyszjhudr1Rn7KVbFnq1R9CYBXuisK31S3wC2sx7491a+dPRPm9w812V3340PZ8JyqVuOwMDDGh+RzoEeeNj2e4qPH3jkYsHKBzoPeZ77j0rrYj79Ojv8A6BerfrA2QKDEPaNKxLsyC5mfvGxdW/AwMvfTObl1y36nJA8BXH` && - `8Pd87IVn0ODkWOTTr3d1LszLEDXzrdoWOvuuMRXHhgULm2MBvF2UemxM58OXsrn0H8dXZFLIZUkaeFNa35fSBQxxzjo1rWs6y6J/Cz6R0BWQMj5GdPCgpbHHE0COz5jXLhwqoknkKubXcd3Ut91bjew+iI4DTXKsTq+HBuIilpPfGh0/etzI8QdRUnebhUnj+PNKxA6z0cpPD+KxsoEZgcRWvTmakZipFTRt4hjGq/OusKyg7UcBzrDk` && - `bbibbjjzHj9cKSfyrqwO5h/Hw6Lu0NoqzUlYJ4eZn5hBzFG1cgDMqT6Q+UVxhu7p6zarsfpQdpvAVKk+TthPL824Pl9a19k2O2b1//AE7QxMTnqaNx7v2X/Ts2ng66s1fdtbMsSSvHvP17NB/Qb7Cxb/SmbHxPy99FbYkyMRn4njlTSZY6nzIOQoGy67UnJjDe3Q1hMo/FGyamtC3cOEYpGYj40cEu6+iuVxP2pkg3Z7FxWwsDwn+Ku9` && - `W2LenDp4eB93CriNubRaGPCRmGHyrHZtFyRIxbopLu07TbbC26vZVT4c/GjsqFrdpfzWKkE9wq1sCAzgy7ujPo0no760q0VFovilS1yI/fjWL2jlWs99NsfkJBddTFzaG7CeH1w411u1vc8o+UnzC9pvZ8zyo/br32Wwf/AILJ3jr2mrBs1lbY7uNAWhqYLZbo50k2jbYN2SMx486gf0Bt9q5+hBJ/jxOVFOsu2rZJxYIkZzqNDMjLFQ` && - `CaUEtqjEic2j5V/wC1uHww/vX5eBY55msSq57i5PxqCMPjQF63buj+5dK/wy4Txzr70T3GtIo4s6DMqsR+pZBFBbqJj4xnUUzptN23iaSFC/MVOzE9erYsdwyW7iaw3LF1No06oqZPgdK/xOzPcnjaEx3RWGz5P2jF/wDc3K+/6sPOidGZodWuLxMUcaoOEq0++iRbuRzMQPfTbMt97Hk+1qE/Mv8A8UF2W2PJmw8IH3jj640epSCe05` && - `zZvE1vbUrGJhN74UP/AEzyc5U59beyX69dR5R8ptgzm3YEAjxpbWyB1s7OWtZzm2RP13mian8bAzOB/Y5U+0UNj2VFtCMT9Xu4V/n96gAKq5ADQUyMMiI1pCtkHLM/o7vGsRXTuo7mHP21hZ29Rj4Vhlo/3UBifLm0/GsJyaJ7vwc6zEU2AW49Fjn7q6r7RctxBuFcvZx99JZQb9wiY3jnxY+J6QBaZjzBim2a5cuhbgzwfCYyFPtlwL` && - `Z8m2m+6R//AJSPSbn4ePrNvyRsmNQYN+7kv1oflU+VfKNy6P8ATtZL9eqh1Oy21IMhok+01ju3FRebGKf7Ev2y4nBOz/3aUhN1Hxsz7qwEk5r35zWBRJ/FW5Z2VtqGL7xUbeC8wONYkB6o6Nx9dNfZvu1XESM8q+x7PP23at+4wbKyP4yHfrR8n7AEVNnRQ925n4QKuLeu9fhIEO+FTxnCB9RSoSNxczoK31wzw5VCtR6y4MS+iMzW6f` && - `aI6MzhjMN+nvoElSea6Hv/AAMxTJbJr73Oh1tm25GmJQaaxaVUU/oUCDzr7PewrtS9pOfeO7o3vZI+dbRbt7UEZhh3fvSoPcKTZtnuXtpC5Ll/4ihY8neQWsga9edTzzisWLY9ij0dZ/8AKlvbR5avsx1W1ufXspbz3pbiCgOfrmrdt2uXlt9kXHLAerSgAIA0HTjQZzFYb4/6v3pW2xUtK3ppcxKPHQ+6KkGRVvCowGk6g/mCZqLlx2` && - `E6E0tz21csnY7zqujIy5+qaQWy1t2EkXlKRQu2la5bjMK1FrFzrXB3kJhvYaN3ZG+z7Qc3tsO14j5iruxFXW4sXMHHIzlzEisd5XXEROf3l5vkO7+ZDQOtYKHfXEQOPOr1+8hQu0KCR2Rp86gYczGYkd9HgBRwmM+dFG0Czl8K/LaKCgyDkD8qIOHD30LhSLkYSTr+BCLib3Vj61G4HATr4g/KgAkrixQd7P8AVnWKSyYdJxMv7/HxrK` && - `o2m2jDQYu+msomBL9uUz4rqPYake7jUJblTkhttMcJHL1USLaBiZZ1t4cfee/p6q2DMgzRCoyYDhhv36D03Nn2m7lhlGPA0UsYQon74jTuHOlxYzCjGUXER4CiiNdKnQdU5HwqHtbQ91WnKydKlLUqOyGgeqpvHC0DETkJ8aazZwXlIkW1BxeNMtzYb4fU/wDJiirpukan4ViRMB/sJX4UjXXe7g4OF/aagXHjWG3s/XnS9Zfe5hbFDR` && - `88/fTFQDdYZE7x/wCKxYTmYUDUnkK3u22beNTThIxsMgTRDGZq53wRQtvccrbJwKTkvhVtTO/kw9U0MTb3OhiM/gdSExGN/wAKO+s8c6yYHwNa0NmkZDcz17vdUMJU5GuquMcJO43FG4Z1DtjGQYxxqLnZHpnl399XHV8QtoFEaGf/AOR0jY7M/aHObDLCvH676CgBVUZDzcCO6Wz2kByI+XqqAIA4VCgAch5pKBVfWY+NBsxI0PDzZP` && - `8AzRuXNTw5Ck2u5ae5YW2RuLOA8T7KDKZBzFRUBwuUxh19dMp8KDLk61+VveIrrLjDTdwns0Ms8VDzO/pOETRZjixNiPI1hAHgKBAzoNRl5ZnAXFwb0Rlnr0NYtwAmTPy4wO+s5GPLLhRTaWVYGbcI591XLwaQclOLUa9KXrmQvWgiGOIJke8ee9xJxDumgxu9cGzDxHmsx0Aml6zxduR/ap0oMpDA6EdIt8NT30YG7oG/VV4TJNp/hW` && - `yvEQmH2ZfKkMNnu65D6j31J1iBREViQa6ihhtEk8zpQAdFnhE1jYbxrez7hXV2Lbf7q32NfmMR3mpu24aeGdZUaZAwTnzintrbyZdyDGHPXv4+2sxTWsQgCRi4UTm2eId9NcxG2wGHF+mePRfB7XWmfl7oprY3T9Z0pe0VQAq/JmkacY1qB0FmIAGpNPeVn+yAwnDrI4+HnlXEqciKNtdpuSpkYt6QeNRcvXbmeuMj5+aMRzOgAkmgrC` && - `MzA5CchWISjHUrx8edYbgg/qGh6PvLaMP7hNW2A/NcQO9jUESujeFG0ghLd11Ud2KuPqrNoMSBRNu2Y4M2Qamx2d4cFz95ApisKvotrPfWJgJ4d1FiCY5UWu9vj5mpFfmBiuta1nbIJ1YGR9eqsxucG+VYbefhTnFvERA4UFGlXVtziNtkC98cejaR6XWgx3YFHypAGRce7BWcXHXhxp7ly2iO7Tuti9ED5dNryWpZVKdbeM9pZiKgCA` && - `OHn50l0cGA9Ry+vCtDUjMeYt1RMAgjuoODIIkdBDCQawHNT2SdfDotktz0XLDy+H/bRo3LlwYTejAB+pvjLeys6utcbAouYQh3iWgH2+3KNKEggxx6MuhkPpLFMriGBg1E5+YoLLyg6/WlFZhgJjurC3Ec86hT7ahj7KgCsR7hNOZbCLa5cNT+1dX1ouPPYt7zewVtG1Om/m2A8IGQ91W3W+rIhneXM+P/AAPMXrLK3br7toHU/wAVgX` && - `M+kefnZ1OtMiZk8zx4e+g66GlwkYmYDD+rzGzIy4a0FUAAcK16NSIzy7ui6xEaKDzH0TRz1yrXJXVz4Ag0HRgwPI0m2LhuIxFuDl1YMaZ8+6emGpcb4QxyPD29Bcdls/XxoMphh0SanDApcEYR2zROESdT9eFFlJnUDvoAjWsgvspmImM8hWAai4uviDRga5mtlRMgEiIjMa++aKu3bGGfGrhVjv8ADl5hW08Mq4WJzFtZ+PnESRI1FR` && - `HR3ULU3jIgqHbtHjw1nnRm0inmNfr1+bphBzA/SOVa9AVe02n79EUDhhSAw76i8JBGE+FdSgw2rglB3jX5e+jbbQiNaNq+cWcLcyz5SOHKeY8OiGq4XOJXbKc8tPfr66/w102h+jVfZw9VdVtGzdYp9K0+ntqSr2wT6Sn6+NRjn1VmjEf7DUYXnlhpVYy8ZmhbxF3JjCgmoImaTsC22Q8avPilMZjOfH3zRe6cKgTJqbjq2C2qkaw/H3` && - `H31NW9oKFQ7M4HczEj41fukqTbshk5Kc8vhRSwyWdsKygfst/HCuvT7tkyuo2ts9G8ZfgtXHVvzlxXl5RkPPnoyNbOtxVCpcWWRs555jnTIwh117+/zD5mMBWUrGbRH18qAVR7a7XsyopcLWid2Z0yjKgcxMe+reAw4O6e+iCMJBwkcjWLDbKMmG5Izbl8Wp8LKV1UnXwP7/RlZkag6ijCtgAGEATzqVxetY6ZNq2x71FEm2Ae7Kgtva` && - `7ygc2mobyheK8Rn+9PgXNRm5/epiktsgvelhy3e/4+ysOFQmvfNSzuwmQp0H139H2a1+be3RHoji3q/ajYtrCWSLcf9I/er1thlhHr1q/s1wnFbfHbad4d45V1Y2i8HgqXntKTJB56msGx7S/VRAXIlPCco7qW3dW5YOHFcua4u4HhRCatmzHMnzAVt9YkZga/XdRvrcUysp30Lt1cLZ4h3jpzp7R9Ieyrl1exART+qJ/fzBMd1a+YuH` && - `gc6yEZ0DP80QuGdVnn/wA0t1TlrVu8NG3GPw+f/dQPRjQ4XiPGslDNM5cO7w1z8Mqm05t5NppiPH65197AH6sWtEjCqzlK5mouHwIFYsQivzFnlOdY7n3KasSc4+VAQEXtAHXxpcPWWxj17s8/CusvOrvEDCuEAUem68sSdSfhW02tHu3N2NYwAT7j7KxGYPZkaUzRnz8+5ag41AgH0poRZutOeLCc6S51qInW4mttw5mhdN53QN1nVx` && - `lj5/OOdZdE0yEkSIypbd0AcAwG6f28wYYmeNadEeZgOFbnLn4VGHC65waykpqeP8/XhRSRhbNW1g8DRLIcPHCZ9fOhcQhlOhBkGstejcfBHdRu3tnZgNXUyo4TB09VYk0OhHGoOdG4AN3KQOVfdi2qxq2fu/mgz3ccZiV7Phw90561p5rXTook1cs3yugIjlH7zTHGGGZU8xOXupqJPHzMugSddKuOyr1SSqP4f8mktzOFQPMmhHQ9u1` && - `gCDddmE59woKCYAjPp3BJ8YoAlbciVnexDnWAnC4E7prC3Hsnn0iprMb3A1lWLhrUDXjWFbNxBxwXXSfGDXW2Gxc0dyZ9Z0qc+8HVTyNTXdT30vXLRuahVWPhQ666IDf7pHqC/A0MCtIGr6/WVQOgs7BVGZJ4Vy6MqiurO7dL9n+2f299B81IEZNFBbZhFUVlUVNdmsunZRsttrl3ewqok6VasHO5G+e/zGxXkXCYOIxnE1APRNXSNGv` && - `MZHHzTgRVLZmBrUxnzoowgc6wwSOFAjzOVREHlW5lQnTQnke+sSrINDfCxwI1rCcjy4ipLEngOJorC4weWRFb6xzq5fRlOFCwzoCWjFmVOkZ+zL39ASHnURx+v2rEzaaAfWdAKGcEwWXODRd2AUDMmvuw0N6v5FGch0ZdEHzVVmguYWr21a29nTqhl6ZzPsEe3zftqS2ERqIjWrFxRlcOARwaNKTrFO+wRSM8zV5dpd71y0/ZJgeMe2o` && - `CgDkB529WQ6MXPWsR0FEdPgahcJPM1nRVVnkOVawTUMisORFHBaVD3VvJX6vGriswLsCO6KxscJ0+vrhWbtEQQDFFLVswTOKSxnvpurxddoN33511YdVABGIHEx75ojfAxYgrPiilQkYzoJ1o1p0Z9GXmfbLF4WVtHDbLpMggy1W9lsTgQcTme/wA23iLyINxEaLbtzw1tOwpfe1etsL2yydwxz5/80m1bTs4XqWVrezK8ntCSTpoK2T` && - `aryhLW2YlvrkQpJ08Bu+yisYARmOFYmxCwDDBs8I0kdGta+e1oRuxpw8yagVDhVH9pmahRAGgFSmQ/TWT+qPb8qI0I1FM+cAZxWQiMo5VrHfyqShU8jwogJigS3P8Amsdth/u4RzoWyN7iRoaTMZmM6+02t27aOJTy50Vw4L6/mWjkQfDzs66mJtW837zwHzpNlK4UXdaD2h8hS2UGnnC6VwXAcNxY7LDWrPlXZRN3Zu0OafXxpNotHc` && - `cSKu2gJdd9PEfUVZusZur93cz9IfU+urVq/ab7B2rjomIluC5Zgd/wom0yuO4z52fSLizOIA+vL8DMVigTETXI8COFNbuJiBHDjWJNfjR8YI5GpQ4hLSJ7+FFjZZQVgliPVofGioANt+0p+Iq8iSIgjlJzPxouUIa3J0yBwmr9y3IKo0htQRVu5ttgO5RSGGRGXOsfkzb3bDpZvcfXR2XabZsbSnaRvlSdbO/x5UwD4JHaHCsKNZvqMh` && - `iEGsJexbB9JASR7fGkQWcTAbzEziPE1hRQo5Dz/wD1BF/wm0ZbR/a36vrvqRhdHHiCKbZLpjYtoOK0x9E8vru6Ns8lndt3vvrA0HeB9ejRtMSAeVBynWLOHfQUqIoWVLFRlyz/AAADzmjOnA1l+DhHRmM9JBg+2oXTpmsLaSDVwNjC3Fx7pjFzB93tpVk7gC9HV7VamOy4yZfA0Ln2w7UEnAjpBz7+NHZhItnLCw3l8KwXrSiIKsuvrq` && - `UEEkn8G55I8sIq7QBH9t0cxWBsVzydcOR16s1gaHtvmrDh3il8neU2+6P5N/h4H6yrZvK9gb+zPvcJX6y9dJfstit3FxKa3lBir9y/ct/aCxLKTDROUf2/Ws9G4yv4Hp1rLpIxZDKO+o/FPS930VkH1V11475EBZyUcqfWCZHt/H6u8MNwfl3QM1NHYvLuznaNlbdXaFEg+Pf78qx7FtVvbdicn7rFDr6taNi9dVJzi5ulfXzp7W27Jt` && - `F3YGGHMdn11e2Ukk2XkeDfyD0XEWwL5MbpAPHWDrGtfdWbpCnX7MU//Qx7acPZ6s8SXxHz25Ze36ipH47XDoomjauF1uXLgaA2QGuXsoqu15Hjg3hWArA9HnH9AyOoZWEEHjRdthVSf0MVHsFC0dkxZziLmfbWIXNqUfpDiPhTJsdnqw2bGZJ6GuoASOdG5cOfwrLzshnWsnj+Nl0KhzDOo99JZjenIkV1jEv+nu/qLl1HAnRcNGzdQp` && - `cUSR+3TrHRn/RW1H+qn/kBSnCrMOJX+q38SNzSi9z76xwuIMx/uX9vdWJGDDmD0Z6Vuj+hS2hw4pJPcP8AmrT37hFhGFycEF4Mga+HDh/WFToaLWlaxd/Wh+POjK9db/UmvsrSa06Y87LzT0PdicIJrZ8GZYm3Hjn8qCooGX9f1nVgPMkj0vGuqCmzdGu97xzFRikjXKCOnOp87Pzb/wB2jJhOjQRlS7RfwWksHEtsbxLEEZn9v8hxOC` && - `G/UDQzzGh4j10S4a6n6lG8PEcfV7Kx2riuvdX2e7fUXeVZ6fgCpmhba6oY8zXUAb149WPXlTFwQzHQ/wCSC9sw6u/Obpukjv51c2e6Q5ZpuA8SawmW2bgeNv8AipBkdEdOVTQ6m4bbgyCKxbXs910/1LQkGnv7VbKddcJKOmfcD3V1lnZLaPM4gP8AJmu27yyx0Iis3tR4mp2bBfWc7NwlB/0kafWlfZLmxG2pO/cuMMX/AE4Sff79KV` && - `vJ9s7OwmStxpqb2zNtVoenbXfHqrHacOKF1skMmTTEbE5QrunEsn1TW+mBP08T411ziEHZ7/8ALvtCTs20/wCrb4+I41b2fbNvR7FvMIljDiPNs/dRd2xsRHdXYX2f/jr/AP/EACwQAQACAgIBAwMEAgMBAQAAAAEAESExQVFhcYGREKGxIMHR8DDhQFDxYID/2gAIAQEAAT8h/wDiKjczzKFcUQUbt3KflOOPeCBkb4DyMVs3WbZqFn` && - `iItirN/NcQLHH/AEzqZnliNau6aEWoWD2SzYpYcDsjwGOZusnUyJAWUUWnS14u5bo7kDn+4/0HKvyVAP3+zAypMTcDR3gOdcWw+naIoJckq2SNNc+m+YM+EB5uz9paCzcbAC/+kDIFYyI7uJBJvJjxQ36b6tw2CtaXGWas9CIwt8cGdV74d8yyNxqlfxRZ/HNxfb2MRYASByb9GseCUA0WFh1SIe0CkRgWpV43zfO5ncivvLJQGt7tTN` && - `+K1q66mc35pegV8/Eur2l9hcryXTZdnBAwhp2g0Gd1qLQcn/QvhEkoHcakshWjVWAfOT7SiGmh+Smv2iVK2dnxHzb8zQuXZCxUOpn6LFPXKMLxHm3Rj2hjXgXH2jafkzbOlk5+Y11lFD7Fr0IJd5IdlE4f8ihXbt/4O0u6v6U/Aj4BkA3YR9vXjdMvNQPPf65LMMtVGJdwwqHMMMcNkG4irmFIYgWZQvumqJzQCorUL0Qn81Vl3PVOKn` && - `sqnZlSRVBPLf4wMmhwMntz/wABAW6mashcIvD726x1vxElilSHWqrUjUDlaI4PqLvmpeX22GfWPN3ZMj6LbJuViWJa2J2+0ahuDLHdniHXmNzE6I6ZSVKGoUHrGnDJml84IVR2OHo/wkxa30EtECw2qFb4Fav4rA5YFwXb1cc8Pd/8C3G4dZW+auyhtV9gtxVhFBAiA9WuMY11iXa9Kqj4BVCp4RGLy/U5YYiMIeCWlIa1LIwc6TM6gt` && - `wi1jMrpSGrfiA6J+Xhho51e94IcCKUG5VKLNr6IGaFG/T9eR1V6tp4Gc4Ct3CLNQ4s3j9ioDMA/wDAbARTWm7we5l48zWtFkv2DN10j1CHH3fMdkbS79dcRF4YOHFOpyGEgWoi3FTUUvbLHxB6vE0yiGCxlmfjM8QXtYpCuM3S9azjaFxhgBh/VdYnwDFadt16Qtou1tiRpda8H1le3KFlD3j0eP8AOqtAlWlL0xNZmHruX+8wGaBBxH` && - `/2Ii0hlsozkKiecpSJOjXM4f0DTZAbllSJfpmOGIXdRWzqchmOqnBLur8TLAgi0sZtIfu0iuc79OSNbduyuPtjOY8tV8foG6u7gLWFFWcpFui0dq0W52wo2thJyIUAbYy8JQCBjabTPuPxMMq+BxKief8AOQi4jB5E4mw+2bcF5iPeHKwZz78fLGaxZ4ZXBuLqkgSrsCHVIP7pX1Behr9nmNe5Xty05rnxfpDlLgeKGT7vS+0RtLtJzl` && - `45/JFsudZDdvB7uPeEVELea8TNuPwI45m2/pEFlTfaivMOojMQpO5TjjIqc2t+Bs67mR5o5Vnt8f0+tCTR3F6/c15lZmYX2O/T43wm/fjTb7Km+TqpwV+CGx6Ebo3XDG+Z8ja+DFvR4xaGIXczf86jkGGqXizBZhA1xJekJrOttlYedcZibgzJ+Dx/d3LtYYGqHr3OZuVt5i4HRvGJ0BXqHIerEggyOr259SDsMMPJq8rsoFjUodilzk` && - `un3xK0N81gyCrq1HpM6NJARxY4BL1bhVUVx8zK67JV9MBlmKAwNK5zewTzLVXNVT9spznS9EduRehsJ+fj3dV3OoYH2H7dxeZomJfwjfawFVo5i1FEfIgFwhb4+yc87t2FGsUQwFpwu0esxFIq8uJXBBXivtznnQgdidBuOThRXwOp72MQ4fBgw+JcZ90z6nbvmZxHzpZ/73dNVEZdyxSl5W2XN73dNzREBi/84SW41G9KcGuDygG1rK` && - `48EABBeSTLXyX8xZARfq50uz5jQDG1I+4l17ep7bGD2fiW2qFq/ux7RmxconQAFmmyWbao2avu5gqt85CZQZuoVQZYTGI6lCwuoR9WnZ6KKuHYTvGXLiUlEDgaJuLbAWg5OAlC4I2CFcikxRBLguzLrAWL0kf2zs2zn4d5jvl1AfL+JfJ0CKB5vncsm8ekY5YXJVptAVvTK9gRu1XJgJKHpTmkb4MeIbRXI91VDnBzeApu3O7SsXVnru` && - `m2GA5bLPaZeZjsfNvxeA+sFAUp21PNPGrbxGgDBaR3Qv3GUyiFTchHpf2AqxeAg1m/82SD22D4H4YZBo0Wl0Gl3qtMbC602UFBwEo1VY03FYmR5PK/ge/FgjerxZ+DcDCVGCh7v/Y9yDe16XlH/V4Q/JmVDowzXM7t536cEFUYKN+x5z+3Z9Bh9SsWQFys3iS4yL0TAxyTf1x/MMktAhpWjFGt2PXNasFShajYyBb3KnSTF2ygixVZBd` && - `1djxEoKwImtKMDdjd7mMfNjyp9ddkdw7jSg90e/ZH5wFGnVavg53LpfYU33GVZfij5ZY6xa7hVuA2ri7ZeUC2XByZpsfuRKpDfUVdv61Ayh+gCWJUJWAVHOpfH+j1GoLR5pxMu58UF2VuPbStsTQ5N1BShHJpyhFZAh5DWc4w+LteWUHoGKS8U3tKSOinQfY8cSvTWZbI6fP8Ac7m3HiciIcSehmCC2lqrz8wu6LlqDXWldH0v2scXKD` && - `23+2/j87hBjDcArM4ItesUKMtLF8MU22wy+WDal+ZmBv7SPOs+CZShf0+V9tMN40psWFk3bRQv3QS8AcVtV2q5uvaFZa59N5TaF2+eiZh1JR5ly4lpoVWbeWh94vgaMj2RqBRmzWfIcDnmo8Kbry1n+yE2BQGA+uWhexhzK4SOiVX9dSwOMUNilIG92AWpAQE0kBFjau2nJOem2yHXrMNhZewiYUw6YTXcpWVeQaL/ANR3t1QTnC+ixV` && - `ZsMtVYg7+b9ZfxYrYN6PvXrNn/APg/aX8juU34iicG9JQfxmohAobr7Bzi4vozRSLwErDhWTmMxLWKI4dqveuJamYVLw4fF+8FHZWfPdh7XL03Id1/9RuFHSZv2/3Fn2Kuza5sO4nb54Dz28Ht8Q4rRBrfZ80YhB+im0ymb1DXOYubI0LWBy/Bp3C9lpIJlkwMOLyxLPb7Xa2re96eYKYeRSDeas1nPDtRVLQwxbggLFAU8K0Y8QEIy9` && - `p8mhzL93pYhqY3ARrIvWvRxmJl0CttMIGY3Xri6PoEALBsLpr2Vz1zLLc2BuvBb63djcvRajk/XK45C0usF5iPhPNED7t50fJA3vozZNI5c6vBnoVCBfAJnJ5F0brUM5Cxy/qd1MeB6LfC3t5JZhtCIrpY+7NFUE444Jj19oxdDBQHmyj6RKOQUe6D8nnXI9T1dz63LhwpJC94XJu97hyrtHCdruPZJgeL9wG7whrDRagFBZe3VpoT5q` && - `KaQoc8I/vbQRdBS81hx4AD2hpzwIZ/b2lgnXj1fSBa+a9d6gSwoHxK/aXeaByOacXiaGD5CIPhE3xmZStMwed/3fBDACrKFZi+iha6hTbNZPPKfmvbQroe7zj198gQeG4prPJFuvdGQCHQM0L5BYzr2LEfDUsp7iksrZ5Y8v8AV5CVhgAKX2rzOeNF1PO3A84caujMFQRZNtm2h8B5+rsb0OjK+XIHm3FSt8QOAgxcvVEi79ojfUX4we` && - `p6YxDBAUAoCDSvQUfS2qv67qrCMv5H93mEYoHk8HzBOoI+iUUZgMwvAG1LPHdHxGfnQ/Eo6p7ttr0U3DeDsNJEXA4L1j5jiodgc8sV4MmM5iWGkVHXLxkw9kDmrvF6ZzDq4mB8s51l195sEhVf33l+FHZCxzNah0hcO5j0lK1g9l9DKXd0NJRXqVXiYZa0GohTbnF95lBaYBUw1QuzCmHe84uMpUuWG25sA9AjeizeQEzN5c2y+OOcN1` && - `m4SA3W0+HqdPmrC4BpOgiVbHrR4+tDOssu2cKVd09ZelZmGkWEZKWMNlQVUBVYLauvG4fsASpExR95d+gAVVgWlZxMYG7Bpm19y+mPKFUkptZSqVosSai0mg9EL4cen95nNd6HZPHmWCfkGeLM3fn98pR9LNzYzb7gP5TGN24NGL/b4JW2HEUWtr9+TzAv4SoD3b+0CC+R5etl/E05mbDHgrj3ZeXhxW/BM7bstXGPTPd6cNzWMvNNfb` && - `+/vMe9RPtCdmpm381WIDfOG2WojFYsOfKuvXzMP2fyFW3kAr9ksUrGnzKLPV1PwV/eyqA0pw5XBUxuuRoMPNdG71FAsqKLvBBiYKN4Xhp07pdJdMzVbFYAPQrNrZCF1Hb9DwtaKAlFBBbX3BfR7talF8y6XmP0DlqUUi2DCMPjYWJVg65HyXiyNd3TBnVH0JQjSTa/plhzd6IMywnNDuaMYKMR7vLCfQ1hjOuJQGQx/THx92mYtQnUtU` && - `0+YiShesn4tfaYk10drc+Rn6H95jqwJWVPzCkO1tLW8basgwLF7i65+0sht9iH2CcXlC0euP571uh48AzTq+/9bq4Rb7Fb35xN0Hx37foVBxeT/wAl1L9yLPUmdgmoEFBhNcP/AKjyuBxaCMYJ5pfzOCPfkDnhbDHiLB4RS6nGPqb4i/3zMoNg2ULmg/KFyR5FKkFOhk3vUI2Oqj1QV7Pz9ajSJTSGu0b9u4TMCgFAfS4QfoVanBFjC9` && - `5tRHpkfZGiMHDW/wB4aQQsTSfoCZrNu1ZPJWvXxCeikORhjcKGDI5uZUdhfJ36/OctiITawAp2+bVf2ZstnEbxY/JWNvdA8ZYvMqMGm2QEFAu8yjQU2u66QKVv3rEADiOTqlTikdlmSWkIC7pJwDwvP6FcjGA+g6z9kTutJVtzjjfxNftlGHDUs7At4a8YqWHoUVUdYKyylwMZ1nnfHcrJ0XOuX1wm3ZDx+zIk2GacqaUTfLHK+sAAx0` && - `XeRjnR6m4KB19XIZyFnOb021RnzBGVzTv/AB4l/W/otDSJ0QYABCwqmX2RmrGyIgsgaWC12DvxmO/rgu1zqxx5iI60AoJr26iu5knKne2GveqgF2xEchttBf5haKS/orH8wrqe+jX7Tn4VcMvSFPamVNKoYyXvAGkypf0goeokN+nQ99y1nmVjBaZ5Z/l89R1wAfoyegjJdBvcOgrLFwdVq9e0ZEGujK0H7PiVprljH2OHn53D18S++p` && - `xH6woDS0zNcQENl0KukVe8ZxAEBfRt1+xCoIK8C99ITSyuvZ+WO3KM+n/v6LwT5CAlHcLrkfeBQCrXL+mt7och5nIOdy+Dkl4i2pbGRoywyLoUYQi5hZza2TkbX8pa7+pENtkO79R+ONcQNKk5VjbIMXh37PzRzObiAb8syD2b0fxF2yQ3VqOvwSaCoe5YPDlzKhUh9k1NMVoDLhcsjAUKNmGJ6n1gvJAFkQ6Bo4FfdEd2bY53S8uQSu` && - `YCtRXgpT7xUVxFKvXH2GHBeoLP2iGrPP8AtKC2tBl/M4FmirY69qBM1n+N+JjABSJuA7Qa8lXHx+POHdpj0AAPhjB+XxKCuXxDNBhTDVdjRpyKYPpGOkya+1gmzfw5Vx4xZxdcYA7LDLUeO1VqyZ6IlsyGoOx8ef8AYS33RZuX+CC1UaGKcP2x/T9VQpZPWIhQ1hrUzudHsx7wLuXILVdDgeH7ZJXR9UHnKC6t4PoLHMszHyDGVVyYd2` && - `daR0u8t1x8QtasbDBz/faDGABW0h933j2qRpM2gL+YmKI8AH8Onwso7ZndHn0pNYTBL60IW5MPTg8zlYAtnBpzjveDDmOdxW89P98mJSQ3p1zYAt68GKjIRmkZj6MdhhZ3G7hyiLq7l4exiN4DFD21KtwxzDqGwM4uQ5t4MZrrM34WaeJlQYtUu6K1g2tehlj2sOSOVslVVPfl9YCnIuAp6Bfy46+hNh33u/JgPyjmYA8ytLj+tQLGsD` && - `WLP8ZjfTaq5sNrBx3Lv0qupdOVPDmCoHwpud5Kxp0R1donqOw32lQKFaxt9r+jMGnH+Th+6W4sFd/Te9xuBAp0iNHqQMCUEBVpEswgNXbh9twneAFxYlPGnsy0V+qLt9u649rhfakMxJpcVRk0wbOT2/vHMUFD269oLZFVZRpq8XhzGjlVN45evBvzAViqDyS9GE84tb0XTyjxO2eYXkjW1XpZTppFrZkT3bFlSZSsMpau2Ap7M2ddBK` && - `SJLEa3eKbhCszlW6Xor0Ikke2o8l4/MampQqR97fvUr7zVqCQuOFvhuVcAKFUXeTA1m9Xrceygh0qco9U92FGAQhBoDsK/cZUgFfKIuFbcGb4KrNhwS24wRCbC7VmjQ8Fte7tVK5yKoqlZ9RX63WlSKr7794TY3Kwz6QG0xZlmAjq2bfTNVzANBT6oX5icIeCvzLFLYtWqku7rUBzO0W8m6uvceDT2iZrUgCAyVSX1MZhpXAHl4111L1` && - `9eAE04vP2uFOIurGFFoulaxORCrBBmlqDrTXaMqfPmHNqlpp8fnMRu3uLU5bPkb5KIsNgagaS77j7R3TF3p7MF794Ii90A8MSyocRAzGw6V3RHw3x6U+SGVWNPewt0q0ccsfTCdowHmIjgOEeYAFbkMjGN5A+0TXQF2X5fCAbWUhlY/YS1UUNPbatr7vrCKCOysSlVxGkolLox+g3LJQSwy8vCWryS9WP2I+BhxKGX1hS14gNiTcGPyj` && - `ECAFVbl3+zDKcADS6xz9j4lp75qror6jITHa5Ss+i/W+aaZPBZv4gPgQVa0cyt19LoHDdHzHieCIByGzs45PQuVkdW7L8l3s41NDPgeHh8cnvXWiip9UGqhxTSCzrnf8REpk28Pf8AM3erVdxqmVao+wQvF7o8S2cOnvkK+27OSiaU0Guof3vUtBTDbeXEbVl1Vq6t1dW+ZYtWWLautgPRgCYsqLYB9LpYUXLnIfQkg21A5VhhkfBmDL` && - `ghIV9OZRmWii6zWnTUvVq3Kn2qiR9I7XgAKNQweU5IJcIoiFNIgtgkFfQsTOZDyrxuKNVe6y+UPFr+i/VbWgVBnxLu4EWXHSaSQejLcYblhzCrcAxpULTLdscTCRCmQd/g+I/xeAY+ZZbTvuvD/P71YZqnOSo8J3dBMNvU8i7rmO1Q3a/jsmUFX8ePSFGW60uK/ZXMS4dA0wy7jxgDp61x43klbZSK/wCn7QwgUabGuYhTOzbmFe1X/a` && - `YRRWjz/EdfuIMGPmDT6ODybeVCCOI4+AMzBa8GNtF0tuok0rWvBjl8r+2LLgUMiAXVSGd4wYpuqlnJSKCH6Avau6v7Fw/AubdjCCgw7igvaPRd/TN4l5uUbICK6gaqG7YmEtFLalL4A/pXOImlHIN/Pye49Q5nFh/GviAKysFOK/iULxCqbejN8uKJSqtUAm9VHdagjH5+lTN6MZLbbDD6wFvs1/5j0gWWtj1M+w/TeQN+wrhlp7hgr2` && - `5+08pjcPBfLa6feNcOrhZRUTdoZcmG6Vc0anZuWtIlKMKLz9pewipBZhRxiZUMUEMXx7tfD3WDvDXkdnzKhd5YVtWVfPtiiFZOGoC+kNbq4FlUMDWLOd3hu9zf0EttBz81wrXEugoKmXsjm4zFsefoYDSUmKSCbD4lvj6LlifBziAI71XoQIMcNyLantVf0tJrHB6babBooxriZ2AdXrKplSGDiX6SKWRsQm6jz3GA+sEm2XAjl5wbYF` && - `Ra9phEl7Yo261iOUsE0ItaRxPWVbOyBOrjGtzXSquBuj7fFRZ+nAy0OIyIXi+5gV20Xw20UeOfSxoOAhQREDRw0+nT/fQFDGrOSuXPMG0FdJ+fJ/djDvIW2U1URTklfhAtLEQBnymEyF8/gy5qDQ0FQo9DZ8W4g0oWnIcuemrZeh4vXsNPrxxXpdspMd1amPXJrzHCyELyMvFRbgbkJdLKYfTmFNQKPopRghsfoI2XKJj7729oCUY19R` && - `teX5dQOQDKFW/qN8SejhM/3MukrEL3X4M34XUaZthk7HyNkBJFhLeoPJfulqpctnsfKVDCGlUZldnVoy67QH45CnrEtEdj5+g2uyeQY6/ZLHBNUuFIK9iKeAw+z2yrcRJiPaZ3LPAihsajFwFT1xmurgd6OxGIgi6X2Vxz48xWBxzodRPIVYb6n7e1JhlL3O7yGzl9qca1Td89gC06Wd/ZAbvb1Gd+pye/djYo5ybPZbY+5hKKGXsGhv` && - `k/1plNmgqM0kUrlDetVM1nWosMnnnYpjPoesThfcrz2OfTvcM6RIAspWX5JdvbD7yYp3wmB4x92DvQKSxwNMw0GQJLsvasLBnDR+u6sUkHpUP977ELPbR2X5JSq1dVrs/A+7Gfo5vDGTgemJr33bt3CCA73LOTsgDUyUq6U9/f2lHBBwwiu/ouIC8QTKSnuGycF1/g/vcSwGoIqZgL3Fz9GT6OmY+7HmaNxKtYplq+qZqCioed/wAspI` && - `nDHZIC7e5tZ9gR/aJNetxBjvFq42mfRyBqisfH0N2t7ll5/Y1gslE7kQjBu/HuphEd2Uv3eB+eIAy6GkXryx998xXzwO/Hsf4bVNFuX9z+4pAX5fzo/u/W5bca/wBuE7l1TE3Ds6/rFMs2GCOW6Xq35ZRcDwGV+TWWXTMsIHDFS7AgJ71RBQkwBbU1/aYrDG1ncZS48dKUeYueU4NUv8JBcIQFW/o4HMyY1wRsxbpxOQlk2pjRmUJ2xB` && - `FLLFs7ySMJl8+X+5wW+MS7yxZ6VXpv9G0B/wAfIYf9hjs/DTCygMuj8HjZnc5aEPVbYetU5wYYIsHL3CLHsXfrE7DupVxRqlcY8Vy+fpujiPc+/wBKXlAaYXqUXTF1Qk19eV1+Bbg7bjdbqaTrLmsuOOsxreIpibfS+UwHEUllTlna/tFnkzOkZpCDRFlwKgmb95p3NRxMlBCrm6kOvEvXa00Ckdii/SIOQaRR9RPmbI8LcAGfj/gOgA` && - `NYHYk/3MqsB9pVRC3G+DrxqJURvAvGb/eBUTkE+V/Hl7+ioiApjcuKPFcDoioqoeTuO2YYwYuVV0ysM/Aup84LthWvMW2ZxMxwS7lW/Q5g1Kv3zIgD8wRWHRA4s4fTKxe5KvdS6wAXot47/wCOlmYFXFj4S3ywonquT+tRu4U5mks6Y4vMpqV4KhM/mcCVQ3CrUKMymkBcaqZqDBPvJviQsHcVltrLe/3kD5JmtpsTqABRgP8Akh3UNj` && - `U336/yytFTwlX9GxywaXdWh95iziCo44Jdy8wDARNx/KZLqcpwTNNIZTGZW7jLUEKomRUULKNXzY+8IhBoQDnhdu3/ADBA2FJ4hqC5trxRx6GX6m0emd76DV5ZTsmKVUl1EhawOScxM/RibgLsxSjW11KtQAvtLhkJonSBt7ouJ0Du1P6+sGoAMG67/wCfYeOBWler/RKsXxNj+Az+GyUHpx2CZPZ8PEDLCVywLE40bECOZTUJoOpToQ` && - `P9p0MpU5qgyJ1KA2UqmACndLXacALjZc6/6H0nCn+IVldsV3UKqFS1V74+6c8lTkAlWtPT0+JjyWVdGLy6ILBuHUhIVjiGvrcUsDzDVFIEXLD8nUztAPm3l7FvtMsrwar/AKNBKSyBBrWDoFwwYbIpIhGXWrRXWvEGHu58D31eISIhYjYwRGizBvcRuoCp9WG6i4DB8q9cJyQiFl+KbejzzxGJLYtDFjgauLa1bA9Ojx/0qWUzLoDGHu` && - `fxFULypP2hNzEkjHa34ROoxZSxJd2LDxkBhrYLYra9Ba+YvBGafqc8vHBbPRxvHqbILNaiwhuFG0l7whR734mj27WPVMV4N90pEeqcdry/t7/9dbnqtPXiN1vLVXFILWuvkWbwoYWJRAaX/qbuTDhmABRg/wDzp//aAAwDAQACAAMAAAAQ88888888884ARDDrK8888888888888888880l3isemBc88888888888888YEoHAl0dmE+D` && - `8888d8888888PB1yRAXh1lwOj888Z88888888ar7wfQUk2OHdPc8HEK8888884knBHIEl6AFnQYIbS5l8888888bRBVmcz7gIxM0BJYrDAh/kZHim5zdpaN98q/wBvMMOMD+NfBn8fZHBL+BHCY74KX+/A/wCSfhpE/JaV7lpSiMuvrihglLLaLDV0o5LutM4RowRmdqbpx7redMzsyb8KNWDawmdLc4Ae96L14MmXi4iMOgLJZUPBiI` && - `9OCrJIWKKUm4x5ZdfAYe4/oL7TN3JpzazTyFNiWYhI5qLuWm8fBJ8PLy/Hzxn5b7qnEafoBe+cpoqTPsOHzzxZJGasV+jjUqgyB+r57yzzzzzzzzxqFIAobBOXJbhGmLzzzzzzzzzzzDf3w4J9lpNrunzzzzzzzzzzzzzxjfSdgwQhb3zzzzzzzzzzzzzzzzwB8VbPPfXzzzzzzzzzzzzzzzzzzzzzHDzzzzzzzzzzzzzzzzzzzzzzzz` && - `zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz/8QAKhEBAAICAAQFBAMBAQAAAAAAAQARITEQQVFhMIGR4fBxobHRIEDBYPH/2gAIAQMBAT8Q8PsRChEF7QbDPUVZ/pu6IihDOs3E7DLuVLEDOqF1llsyoSvHqIqB9TKtuoEYDMOswspO3rK24RW38bjejwCrzAZNQfKWNRhjRglSy50JtMxQtJjDH8` && - `MgOJTz4DCOcJrb1YATcqb3KJzonSJMEcN661GscKYhvN+8214GUKmJiEscpcbjA/aoUcjv2lh1QHLWr6sAwXByRBdxhTGY0dY4xru79OUAm1fBbN4IfGEq1LLjiIXhAxOEBhEjiN1/H1i9pfQgfVE5RKaM5+coBrbro8vadAfT9somfV395glFsRElyNMMFbuGBKvrKDUVBwfs/Tv2nLS5V6oKMxJykabJqEUyhCcQFD/YkrtyZf5MwU` && - `MZhb5zVqjCxDB6f5Fdq+1SkrA7YjZUIF2ixmC20jls1BRjitLfrGLjwqqIGMEx3CpeMwG6ZhMhakpC61wCKPtNcAohH8nzv34OSDTAWouKnnJelyiWDDUE2lsGCAc4lBLUyztByztBLcIcRzgGbeFSuk0z581CynThpVBMGoGkzbamF6GGYuiIJFrMSEAdkolBiIYO8RE3wMkQYm4sMRQJy9oBOCopg5bjSiok7thlGBYdxsvw/wDIiY` && - `R9SWTN+pMjHy5ecbSNdsXpiAOo84AuAUjJtceQfm+AC2W0PK/KBIRQz1OfDUGJSI5wcGWvRqDoh9RGMtToOO8EajQqUS8vKUaqWo8OcYuRlt9OsWUxfSJdcBpfbGHUpxLhTLBg1HOZ+JbuAMTU7lxlL2IrolLkcqnNYgBjibg5x+4q5eDRPclkdh8/MBxo+3twzwyi0xiG4nSJ1ItAjURxAhBh5KwirF07+/AZZUzsY6y94gu2HwY79m` && - `mHZDKBMnzl78EZUsJfBZS41qU5yy5lKplhAxTrnXo7ju7Okpry6cyX6Prj9zAL/AgDoaf3LNGj6MAc7ZAIlwCM1wM7hKlQOAxigC1+EfOV9ayteGQKWQYHXbjWMSgmpcuEGPEY+3tCvvL82+IrcA1lAbVxcS5ympngGITCfT8xH8craqUy57/uZqAtg3XCuFRBtVCAcsYx1f6VoI0uCfPODMFsCOPnfrzgxY4ifu+pMrFRV3/WAwMshn` && - `/l/wD/xAAqEQEAAgECBAYDAQEBAQAAAAABABEhMUFRYXHwEIGRobHBMNHx4SBAYP/aAAgBAgEBPxD8Yhd8obbgwr5IIXCDJHSHiP8A41KYlo7RXmmAzM4AadfSPQ5QTbBK1oOf+RgJbazfzAGPzgdJROsbcxFJliNmGWI4mCIFYqDgs7N1UE5V+dJfWuv+cQLVo/A0Saw1eH0P3Ni36/P9iO2IYXLI9xHGoIaliK+cOwohsa9f+ClVXT` && - `GPWWKLNLzX1fOr/ASGxcYNAdg7tj0S0vUoFkqXUslVLnMZLzmYMTClepxPrusQKJXgK8MYD8mhfevlEv8ABv8AHe8CjhB7y8LTz3leiNR8x775xB3Dh+nv7hqnHDfpyg54jXAN1+pkIQpYji4dou+9XTn+5b1r4RfdwH3wIhnfJp5u/lAygBMHfzKfgu0FuiWQLx/sA/v/AHENHLFleV/kWcwyDwEFG6Pnrxg45R1t+OHvFZnNlYmCNO` && - `jVXMRXnAdq0YM/1jNI8NXz4vVmAVc/0fuWPDQDTXXBy485YQbQX09ZoTKys1s66VLyA4xc1jYy+hKRbxyY68POPDM0xT1cTgnnUOpGvS+PkaHrmyKi+CtNNM6Y9JndoVq2nfFS7Es2hkqKZjW4tjmWa9w0YUDrvvf3Kayt9O84hKdDL3xi9CvPPzAaoUYDGM+7Mq71fADWGMm3PLbw266DZRm7Gn4fbpxtmAqBbN16RUzPOteZSHTaIU` && - `AcLWn1iGH38Rbd31jNyV3UQLhI07w4ECYzylTVlU9eP09I3cRWxNqYhQYl2nMDWjQcId7u/SGsBKW8Vx9fAlpRrgq+fU0/sqVAYsExMkZO2H6PBAF0iY2rfXp075uLX7/3vE7NqHIFW+JmjS33ho2JpQU4v6YsCW8va4QfUTDVa6QzRLyd/uG9KuFOj3rBTcYfPeUodYWg1c8tLg4hb8RHoGY+pRbR1+3dly4ZiEi8p0MJ9xSGj32+BE` && - `6jB8/eIhpC4GsVC8vfMp0aypqWeUoYJsk7eUEu54CwMQLBqH3q6QGjrEWzR7P6gHQz8Yq/7AxGBtqs3aBQ6ptH6Wu/gBcwuEkdedbOefQ4xB1HwRDj9f2KOssRX1O8d6xQnOIc/wAe/iHjpiKbVxJpl6eZp/sXheAoe9noRyWj0f1L9I3wsaAvV38tjzhp4tf3129ZX9TGOp9jH3FcetY4aabw8GLe/WMEFIgMmd105ge3huOmGgvqvp` && - `EikNImeEe7NlHQxr884QjFB0gER6d33wgVGp7/ANxXnKzQ6J8S2AZibDD4hvt997RHE5SmbHfesLLqXRpRuw2Nlf58SwS6zcYxMCUGYoVM6DHlnzeUDDoUX3rzh4jWAuiPQV8m694mNCbJs949oIwnx3w/sQvaKAc7Qvl1gPQ3F5/ao7e29yoNTlEOdYBtZgDSEdHONtJUNpAqy1jPMwxCaCvBKT5YGjwCnOaNVhx7YZSX3sKJnHKuEX` && - `o7XStHz1F5nnBpR4uXJYpt/IITAXKOXbpAVlGceesv2pcySEFLfTzmKBbXvnDYWrE4Ot9KrznBl3WXZKAOSsb06Uaryrcb4HS1R33x8VWLXb26zYhqPfDRjvmUxEaEQusJWuv+TYeNbLr03iSlPgNShu4OiiXVNdnT1gjYr/NJsTV8U+utf7LwNewSqvemUkVxH3xloqGruztjUKxv8rBt5vV6ae0RQLdWsv8Aw7UW9fsc5WUJ6nls8d` && - `ma8g0e+EZYOnt1OUFHJ6ezn0lVFqGiR2JwPiBB4WRKYljCiJBQV6b97Q7iGzYaAviG/wB34I1fhorKYeENFQdbM8+MsVBOIqWossZYlQLgUzJMG5YzLJsy6v6Q2VB+QChc1NuG3fn5S2KaNOKJWJR1mCU1mo8AoWrxTqF/qAQOu2d9PzkUWSnq+lVZ5NfMTNDv085VLA5LgKxKlmJpUeBuBwFGTngc6z0+/wDxOFLiFdLPJHZ/lVBOAv` && - `U8jF+cSoRxKvo5H1GBbVmpWYQpxzH2z6PnNeQuuIae+a0gNB/5l1TKVe/rrCuIf/L/AP/EACsQAQEAAwACAgECBgMBAQEAAAERACExQVFhcYEQkSAwUKGx8EDB0eHxgP/aAAgBAQABPxD/AJH4/R/U5+jn1/R1hXEfwF45oSvnq+riwAdXAZFIBs1rKy3y+fOHTxUdr/bBfUQikBpE4ncsinSeP9MKk/SNmWKevmT/APTCvsQvUhgmhc` && - `f6K4wSsDuRSYKufTg6nekytMdZbUQMUk93lIiGkT1msU6featvqO56+stDMCKzWeINzwTeLuKME2AeL6InqTBzqhZmwWxvVIDxjinVABTaKg8/TyythmQXlV0GJZo1lUSAKKoNCIojmkwi8CCfS79nvJQQUzFBPNwdX+hjde5GWHpEbTWOiBXOQtVkZoUWIYAKybiFhNCdP23hKyir6JFY9t/AFBnO29HAGbaeXBoUE9UT6bmiwUlpCn` && - `uKA3s1G6KQGgSTDzoNjcl4JGUNhRgFVa25O0cFPAONOfWcTCoLYdkNhPTpLiCY2jJqjZgKHBPBnv8ASHeRzHJKFd52HnpXs0kfvK/w8gAKz/fOGneoeP8AnT9NYNrpgBVroA2rrWRIrGommNodAo7ozXtSqnBWFhFQNGwX+6G5xVrIpFaJ3kCFHu8H134cK/vcq6dyVHU3M2u7jrk4iqD8b0TwT++aNgb+MA4RChRKhHYP2Y11hGt4R4` && - `xGIlbQEuBNurpwmS/bmnTUChNpfJhLLQG1p4xCLuxjPDn4x/lACVIQodf7n7n/AAUYJ8QuX5weqBsTT/u8bbVb0E2tahqaEddhcAAZYolBRGCxwUL0hlcLvBq0/wAYty7xsnmJ84bxn25jNxrv1iSUjrJGypCMXG6UWp4wAoH/AEwE/L1wjOk/tnsDhmzy8NifIAXgG6qAirTQwklzxyFXrV9VJfbiJNFlw/kut+sawcd0pXQEUugrr+` && - `fNYrSAq4EUpB2T9+5NuAlsylL0UrKPWA9MLy0IcMZa9BcH4O3i+UD4L64I28AvxR1+8jKjEJO4BaZI6ZJ10zb5GdIUzYG+JhqeHWJLUlHBGgenH2/gYA3rHhp7ca3dzxyCev8As9jpNImVi4EMqSSnV2lZ2ShECjYEriSOeNfxv1jB0lxny/484bXHb37OFjpWpHgPU24dOFtZBQ7Agfz1aRbLy4PZ69ppUApEgKwDEdoe6qhdEeBFKS` && - `9JtMJoW166kMV9tvbiFtLmnmA6T+cS/wB2QFL5MUjH4zcinl8YLwnUzQhq7Mra1/jFTrfgxSR63gRIC8+XHXA6zlvHcLdk3XnGkIb1W37yVAlixRNZiLTTzAjDVCoOtFmUhBGwSAmyMMvmWfY/xo5wneRuRdOWhEDAacie2WTbwR8YhkVyNo6T+eodcesDgA6GfVq3ruAS+pRLRp1UXmrkQE8XSiAKKWFTTWIMRzeVe/I9wj8YHrFrYM` && - `/9M1g9WvB/1kxbzZhmwxN9mNAtXZ794IGhtfLjkSZsXmKjV/OCok8vnHAYO/vAlOg5hiPF0HnAp6c5jsc+nMVegdVhizKay77GUoC3CTDU+gFaCxDnlt9E84fH8KXgsJNpLIABuvgY4lDFXzQSCQwTBaT2eMhML5ZSt/nmccGeIJWpFJRfePA6qhZUpAQRHaEDEwjXRAAEvtNhh4ZS4zpPxlxu5DH2TEM1O4UNJuHkxEdmkxjSq49ZKb` && - `qbmKOKPJ/vcuk+9f73GU6u8gg7Z+2O+g2+8frPjJ21vCIEDrN+UsyaT3HnIFUcHlwcoKV+MTWTvr6wr5JLUFAIUcFDZBbNAk9GKqsikqVVVzYlBR28fwc6pvJI+AFx2HQQX0CCwupSc1On1UgwFXrVWvVs6BIBZp3jUXNQpQaCnfmfjx3mLeCgPg/n8wArkQm4a2QBQtBwKLchpBcaoTwMRKNPTQAjZUuXUX2Dl8BIhTiacip/+oMkFt` && - `pJjoSXjwnvNSdM6wgHu4RS0tEH57MWFgD0o07CoJvDV89Np0iZLw2LrL1GpKcWSrvlducNq/3/APmQ5YjZZC4MoVOjGcNIE03RpTms6tAZl3WuHy5OlfM/xjPMF6dYzAOPrVbTy/GAgQcBtzduzSgej/fGdEAQIRdlCyWh4KskkAVJvoeHX3MWlx5y5eXwMwvsbhUClFzRX6WSGniShOPOxNGol9KXlRbF1KYvlqKvAMKhHcIAzSNxx1` && - `XadzoAEAMjoDP7ZCCw/nKAqwMVxGtDhRu4iLeS/wBKAQ7hKIqq2iiyKX+zDwDQfa1JXVepMTKqaTrC0s2r8YWOg0Md+vOGctjciIeUs+zNi/wh7V8SbU5gVw0s+y4NKQeOpeQcqw2WPmihGjFT+sFOhFaDmKHu514PuqMUoOhsQstHOhKoYlWYKjO2meYZQVEGjSgIjaFMn61Ra1IE2UXETSQSQouol1FDNY1lZoJsxbV3+gVBtQ/7yI` && - `Ww18sYsV8DkSh5nuVb791wLIpoV2uAah43MHb5GSoAEmwKeEilbtoSiQCeygojC5GmwbDy76yO2JEm0OmNCECjaCNIiHibSaBLKJHAQgUiahhjpqhdEXH8Md0ll6pUUoMxqQQbtiwYMgchEabK4I6mj0S2iWAkBUAkqb/GBFF/nPMLVSs3sruRQmUY1vjgmGmNkqMayqIFFQ1rVKtbVxSs2SwI8Hyy8ccAv8TL5lU+wywj4SW3UtiHkV` && - `aMbcjECALxR+XlC2EnefT2aN66eT4+MM6aIt0KNR+TfzlEGQOmgXVNwXVZm3UCIoeUdZp/S3SYYUlLVeH3hs4jtL4pSnUWXDmqV4BUBkIKlfNdoB+7I50PrBQRb7SlQxdmrKuFtnqiiPaugcfdPz2Be1QUEQiF+MTxeY7E0HhJQ6Ku0VrSykniwtk8sDTCZAyHyNpqTBqntFmUjvILZjYNcqI8I7hA83g5Wn2360dYeHSezJ/XE7ognQ` && - `qtn9sOhhvlKABIyaWzggdCGwUBHFEJg2uP+y6qK75VW2FYGPWRUlCmg0HEYUeHBiEAQvRpsmXCKZGCGg05rmna4xLe4IN7dVUaIBYKOvPMAFjyuj+cIk3WJsKCWLCyNFEMQU3mjTSIUAmxCqIUkgDQAABzDAK6wiUeXernMS2KQW3dBS1Bi4BoCrdgNgCqeAV5jEpWqIIQVDaSHTrmOdk4xg00AaPO+NFGPxlMv9xX5ucMG1cFxI2thH` && - `QVAwnGjqg6bhAEdCbIbNjjecWP4wPFxW5vCuI8TCPC4x8zoCrm0tETbJ31MaIvo/FkT558/jCDjO8FKbdYJA0ZYvIQI9uAAXbBoYKKk0awc1j1wzZgfEIg+wKF4XCSuMAro9A6ZMA1V4bFFkEa4aAIQ4XG45gYkSpJVm14StALAW84Wwf2hu1UKtiak68DO+8RtyJm+qBgENjUUoVAU5ECpjN6UIkjrL5IqCgsNCgsFrb7/wB+sfVFW5` && - `45nj9d4TL4z2s/Q+MWbUDC7y4jTBbhCjNXaTlF14rh8nCjiiti2bZNNw28iEWIKdDQVfGaWCjcUNPkjhWAKttREQDTaAkGbY1NEqkTcBtpalIVuARI2IKhzVIIXWHAgxnSiij5M0WDFJ0J6mzFAgXOFFsBp48nvIyUFrD0AXQuEoFk2xSJAlGjYN0oCgxA8tAeNqgx2WNKASvP0uhwXG4UPGDY/bOt6wmhRFSp/wCYWz8F5N6X/fObMb` && - `Utnwue5uVmWBew/YxxCpsoBIIFERRTwYxbUCyS99mFpXaCOEFZjGlKX1pHfvDuxzte4k+02gbQZC46YBhm6qwUDGHAsGrsUPdGqrTHvWzpgTtUc1oAADDOjDCfMg/D6yepA2bsleNx3AhPJjeJSUVtLhC6RwIBNQ1NZrATcJACABwDx+uvLiw7TrXQ7rHguCnXwLp9jXpzjjRmUEIaUIgWG2CoET2OQ6Z9U0G9aTe+4xhNX6chOVR3qM` && - `9iCJABE+F8fOrkjYVePTr9/SYobbD0SUQC9ukY6raKBLRN5ND5cWOd8eQhfsGxAMxcFsa010IocdvXZGsuW61i0TdNDpDn5FaqCDcBiIhwPcZAFYAjEINF5gi0rpuSTcsVHW3piGkWCW2foLs8wFUqljumgaFJF1RbxokBD4DuQQlAtdMIbKoU2W+MN4kgskIkGWr7843hZ0kwGUy7Pyy9UhqktWhLoKb3tzSiQgCaTZA61b6KglEGw0` && - `CYb0tBU8Z7GFY4bkz/AFG8vnEemz5cE1r095LFjJ2nNQvBOpBSc8N6oiHYfAi1xkrFwzsaTISimLhRHeq0IQ2uiCjgihUojTFAaVTE24FQrHrLhT2RNAbsixx3cbcOwzb0PFPnw4HIywSczXAOoUU3et+snCbOU7CJ5fnHBcXUKw5RFPHKBKmDz6N0SoPuqagbDlho5DziYNJG/vjzAVmPoJBW4UkU/QQ7MqVi4wSPANt5RaggiopbTB` && - `2vZO4VXqnYSReqhAFDQrOBGL0aiEltOmMm3Uz2a36lQa6MUoDDIKbDfATBYXT4XYGo7Fg9TKvnA3njY7Q21Tmk4ZSKPEiNtNCQkDmEViSh9v3C5zACWoAZEWBfD0wtcw1moFc+N0jvAwOJAmQJCBKoRWtr3JU1EN2IjgFB3EXUCxCF6qoAKIRovzfyBNDQLBQLVVJWHeoRRbwum0pudbenGqMSkrFLDyHkx4oA2kDoDQfO3lXC4o4mzc` && - `/uv9cqD90JNLNSUCu24+XiiOgCIJAjsJhjCe5OgDj00EqkCRG8PBjaCsL4rPbgPHKOAU9mbYJ4yS/s4RDXHBsr59YiqQgSjZdkfCmazLXqFgnbujmzCopAfTMJuIyLiExWqkkJaPbRJAwZPxJIEgdIjvD72VIn3hTCzbKmBTOw0AkaK8HLDxgklo3J1QDINRXRTxeE/Ls2GmXYHyv0eYo3ziiEIeOHArZEwweAKATEE/OOB+2fMBDGpi` && - `rrDm0bm8knZQoghjdAveNBEADgHjKZshlWsDRty3znQc9XLh4yZMTGmrwblaO90QAotZmWKgWDiexwSAXziCXfgxztxSsDRh+4un0Q8eFrABVAUAxRWQD4QNdpUKCAAMyGC4SlFtlsBGDshmUqooj5ExBmimzaziLp101emQoORo0bsgrQotARimgDEHTHLJORkOLqpdjPk7cq+djr+2+ksPfrBxRgHqK6MI6C+QKJCChgravTQCvge8` && - `yiSvZxxAeXLPg49sJSl3cmIAo9YdV6M8JGCHWWvg6/BoXWBDTgbha8Mk6pWu8CXh0nneHNhiMCZjuYCNihKbPcWiXTaK+fJpzYaFCg+EKwEjerHKDSI+THWIuqgD7FSqXgfFv7yalCBYgUDBC76EK4FFTcA40O03JoFNQAgEUVi8Rf0ssJdiiOo1Ca0GC/PnfX3kSI+DANnXEBfdwGeecHWWJgi2JlIrIMLCzW9YOJAZ4oLBPZ2shAln` && - `k/RcH++KraUAFR5+sT7KJ4NIci+FOsEXgKqAHVcQRkHW4iaT5xXQ7jwr3FFXphCAnylrvwCJk5ZpdwPs1Q8opqKoWMj4p9/b9sWrl81bsh8DxZuXLg7EZmDsVTdGDrHCLJTHVL3aXX0HVBDLtevGPuFDgfyaHzcHVSXDodov8AJHH5Pxk2XA61qB8ZZGsRuko6Ztq63FPlxYxbCHBigKgpYau5l+AB/kIqUTohASCJUsgQMegYD0azZE` && - `iuADQpk4rW2nfN8Z3KD+4BQ+XXzhFJFNmbdgarncsQLl8ESCFKbaTAAARRIog2dKBvtpS4AQa07PzzHzGNN2UE7VehLOmJ4YiFMfiujIoCzYHRMvpiq5hPm+sCSEh2GB+vL8Y4tfR2IIu4APDBtukIMTcdQgKEjdWScKL2+f0W4YgEVVdAG7hDLzLI2HSC6VVogHS+W8OwxUp4csfL3ATutZfqb3gzs64CInkRmCIZcUAWULsK8AsHG9` && - `TcCavUW/Pxg0uKWRRGI+8po1e4LMSKVaghWJU8sh5mPEQ2VU8BWFBIKFbDsIiADYOhCFC6O8D/AOSIvELvzWunWk4HjdyrAsCV2QzAoiTVaa/Bd8I7MhoLSyCD3x/vhF5OKycVVZZX1hF6BKQk0ER+RMbm+cM0cmxPZ7xeZ7k2wKJ0jWdoLM2XMArUNIUqyuj8YNt7eDwWJpggaCxmfnz6dGvJILNaHBRy74QgWoAWqoAK8x0lEEq06U` && - `RBUOwhUD+BjUKzFNPhV9e/8Oh6GDXVIc+LvXl3hoGIt5PPk+c6CQ7HgVh3gKqbXEPEdFTpOwSgXps2oCA0jVK6qLPtwx1ckTkrYEaIIfJippYKSISaS+HWvgwWCtb2Fi7DnDvujg1vqMyDfkBP7q/sZfJGuEFDwcA9HS2hjPSm1tiEavVmu5crjZg0VldpQgQtGDv4aCNAGgDxnCYwYp3KPdZ4PWMLtiNCfeSNO3hFnoPycLAcDsbTUN` && - `O7oTeApEtUFEfInnD9RLJGrdPsQvsPTGcJJlAonwmMoLDFK0BQHSI4w2ZsB127QWbqDwxgw+O4IILKWERVFCaQAbMBvAzbPPcYlgvLbsN4tkC0EHgHMBFSrWZi8CgzQxoIoQV3BoTjNawYQXd94YHcmA/u7hE3QnUGlKb5T7M83kzxEvnY4mXUU8T3P4GTDhARFJbS8EMtYOxqiY6lKVCslLpF2mjOCGlGyUH7PeHnqOa1dHgXzfvJU1` && - `6SX5UfpJlOneg3Pj4PR4MQWCDh3JWqQG2x84oxNZGZjyQL4H5yVwbm12NBG0JNpkP0hACKqLpUBCgKSYkhkoPxooQ2AJE+E/TdML7A4kKgUVVgi1CFCJth9s8DgNB8qtTFU/TTFri4UaUN5syhS9MJ2E7mII70+MtpiWh7dPhPCcTwiYj1+xULfIImhsBBM8mH6MWCPJdjZNx4+cMGwkEIAGgPWJGfNH/mOPl6wJ17RTVJS+BfOBPkcw` && - `IhIXB/kFiEqVddtBZbV1dejFLkG140+n9zDCMwnhJT8mb/AA1/AVdNNLLMTVDzDQw+H5y4GuPx84UOhcQLoXfAiqFcBv2nAe/+e0CKru1rSIFIoOv4l4/oUEHvb8HzkRkzc+fgx2dvYKaRTi26TrZmnP4Nhb+h/D1hpQSzIRvAUIGbAJciHUMNi6e4Lr04LRrztMNpxPqWDy+jKj0GFVTwF6cToxeuKhGRT7YFfAHjEMI0FKMntHy184` && - `EmPaiuR1fB+cV2mxkF1/vR/BD+4BaPhVrwOjCMqIwr8sh+xjl1o/tj+jqgSkqSH2dwU2GtuH1iYSvE6ZcgKVB0/Dr98BMiKCwO8wAD5LyZbUo6Umw0B9ZBdr85c3grhgQQggItEeugXOgqbQ+cJ3G+jBaa+0nwOgnSKRIcb7HeSqQVR0is/tP2x/DdBhrSFDSb8PmEzOg4kSkRilEcYafgCC3REDaszj5ZyeKBRSIiJTmEnZQUeYpQgH` && - `KoyyPDhcWdkDxu8UiheLKjBpCZpbRV4t87EUJr1qjWsjLM/eRtQfbz0Zmm7AEA21BuTyFTVEhQwg/Iof7ZvIQCD49cUx4CEnhQB9sMODKzybQ0UOWCyu7hAU75qiGCJNujyxDg45AmxPJmsOcqRAhqIUfDO4xaIG76mqgfESEIYpW8oRX0AFWmIufPRKh0igUh1DpGQ/s5AQkFRwelp7EwehkO0GsVcFSUBguVFoNdvbmn4qZa9GWBUo` && - `XpJBBsTBd4gH9G7F+Ty+mV1kbp9hiztshXhWtP0B+jsPj9POSUeYHeKIBQ/wAZvlQ2qmmefrNfVBShQJu4aVttyAQACML1zZqtFGVRs1P0hNsyz7ViJNArBVA+UyJ6DvbmyxThgbej1kJ3JoSiE6CfYdQTmqtC8kV84+t2Q0sUGukEVFDDDNplorRzSn2wDwRCQoeGi+smityiiWbgpEUlLcgIpxSGEFFIRKlGBr6D2AvSJKLX78qUJK` && - `kU6bADgVUeAFDB+nFIUsRooiIoWEHRgmBxAmcIgECrniCDxH14xSJgwS/ebWtLR/KZxg0s/IQr8Z5RGUT4DGNibsiunZGz2J8ORF7vDjoJIRTiNi72AfC17nnEgMgAwGqAW7BQBEcxHVNZ+4aV4DiBY2AEAGGtilEbDm2rmoKI1XhIhSG77AwTalSEB24ADr8t5f5mAmJN6ROPnEdgpkMHEKEFWvGMxr1McQAResbtjf1Y6TXqeWiiAM` && - `azgS1LtR0WBKG74em9mu+dEKrNuBl/SGoQqTRuvGnCeLsPEguP0BQogGk3Y4X0RJQXsVpDb43gpVJmigPxxxDpen4wagxPgEpag34wbCwBahgoYJRYOPQvX60N0gl3b+Xp8XCIfQGWxj7cIa0GArfPM9pqQQ8XYjHyMrScKbTWfLaU+gjO5o0INy1srYRE2vca8QtddFoEkEkOY3a7FLlEvNN3jQilqjLVhLSUV4AalifbNAH3miSRBt` && - `SMEqCCxg418slIl1mQEHUMD5TAAABoKqCmqDhytkKGBKLWaJuAXHiNDFfKaqvpThZhxCiXvR0moeTxfHDcF0FBKPKI79nvCfNsVvQalUACqgZ5cELgFGQW5EC4IdCgQFGICFSg2PQ+Qe4CGgCCLwEEMDJdwwWrRQEFPBUGjzjRKHjCOjWUH8DOxMAGsHlS4BGqmrjgXEm+0FYKTgaQoHniHaJ2DTN3n6MRZXfKz5+cAJdt1goKh84Aim` && - `McoEH6aSfUNYO7VlAD6C5p3ToAqVoD0BgQNBhfQFS3oImZqV6FwFlEEtahnBcBu6waWo3hIaDjDYp67kWl1EEVeHesouTFAig02gfSCVgCmzxcf0ABBbQIa/OgfbkwwV/e2MVPpMuI+i5vXlHDKhePHBXXE8QRXYjRgYhEKaGLiE0KkRFIgb1JkKnJEiCao2G4vBAVRTBAIE1QBYzeHsxahBFQ2gi7HDBP0FkPI6T5MpqD7DjCarVyHS` && - `wwnhG15qHOmMm8QLeNgaIu5hkgswKBNIiI4BsbsAOkTIkZUwYLFiAXZ8jFmiCkLNoCJyQ8jwSABbRMDwAQEBh7FWrG8oKKhUF0aIGCAh5zyjwsw4cwCi0Ljjp5bFVOuh5hKxmoAVapZisA8THf2VlTd86Pxk3XITjcJQ2FWvz/AHx3UJoXCOx2GF8DxlmzNu5DpqQMmD2xJ6H1gtHe7ZARUSuzN0RQbQPAVKznv9Hm8B0YfPjCNEF3XN` && - `gIEd/okTwVtdUEALqqlRsTi9GAK1Vm3DYJgiUbmzp6TPagU/A7n2NWmYpAWIkRDErvD3r+GQDxJrJQvGMAq9JHlfOO+tFODFlAZpfOsTe+v4wCSJe5qyieYvjXj434ehh9BE9jlXyft5NTCaBSlS1UCatftXq5USC4RzRfY2/+4pHAUm8uETFAWALg5oWO7PHmSHDLhwBfYBGlEQKhdMh0g9ydEXSy8cDCQJMoNjaXBbLcU0Ngb4vzk8` && - `gsjbgGhSBAs8tkiNfjBjrHcdBmlQQAKqsM0lBKwp8MU/ZchyB58ZFqp7c0BYGjsOzEoZK3eUmwJsEbCDXvYwwdheH10i4XOx4J6fdxKUKXbd+8L1nRDZgsVdxxo/EOO0z0txesd4wul2SCI0Cqkg2GGAHBsC5DQQypL8fqUBOhQUSKuk+fTGCdSjaf+nMVVvc+DFyqqw1BkCdNdzlBdYLal99yfaziFfeUzZI7tgbdu33gEtNFAQPYtD` && - `4esWgFG1+yEsU5S0RiPD2j0C3eENLTxTChqIFEfCOx9jE85YTncepxP3xGxcKyesdQOr7N8p3x3EA9ieYPK10EZ5iCINhvRGR6T2qeqzWsaE/CZUPRbdHlYjnXtHsG7zyeV1A84AgIE+xroYLsIoKEpspgPaFGOqLQxcVfh4ICCg1a1ABbDNK2qKGIW0ehS2PTAuaAbtw0J9naw0OdTqwewM3FDW26wuks9vtrVEhaDw3NkbCuL4vWj8` && - `wAioy2jGmoFw8iaHYygR8gcTEWUJjhUobmjmngjgPa4wENA5THgScoD0Mh1yV3JX370ZRR0ut/8zVViHjByoHeCEXnXtwEZTAGqYXD+MWOXGh8YqyvDx88KXuS8hMCEuxCoO57ueP12GJmXYu3Qi1MmjHyNm6YZssE3Y0jmus4drGxoq7utXWSmU5dAdNBnSgaMBAvUfQAhvErA19YI2DeQzKPMULMeBgW9PS4aJDlNGI+YcmGiFx8CB` && - `KMF+RYTPhQxQe30HV4G3KqOh/Bc7n1NuNgdk6iHkT8nyKNFMrJa1KGgYEfspfExIQBBJ09P75RjdQob0U0QykDXAyEi5sIiCfOzZvR4MOCy99wfrEYssonlnrf752gNrBigIpNydA1KntgzpRllUSTZCx6u4rDFBFISjGpWFlixm8KUoIfJQbPr6e8q8VULUqktqTwUN8ixwohI7UKYFLQqQylAZPXnRWUOLUfeDAjtqIpKZBEgZjhgu` && - `uni34xEDbey4NAF06c8GwnvJQFZEI8he5pfYVkHQX1htwAUgG74MNXrbdmYmq4NmUcPedUQeVIEAroCB/AZsfSuhkI4CxgXWoO0lATFpsoRslIopesBskfOnHYWQzHJZ2Ka06XEHRbGkRPhJ3uQey5LCgZvso68QSVU6I4vofeb+h8OdF+2StWHALjBYyEFjUYJoMnAilCV1dlpoBANVhuYwbNOMqRrcCSLq4sXneHpWKH4fpyYYD5ZE` && - `I4tUDxUwYwFkAHgDRhBQJKEt05RXWmt8ON32L5UFEElIjFpRJ+zw1sD5Ix+EYAOTBKAVjRH5E3N4A8hAFnoaNSTSIlEcbSoQonA6Ud7w6aZhGSwFicduS2LmoAYsWCMCGwQYjyiCCipI7NGnAEBdCoxfdcVFK6rCcbiwgz5UDY0nwY5q7w2ABEd1PMPFEMMUqCeGSzLM0pTWnneFDB8mGmEPPnD6BPOblVMQmaXHtXcBYbKF6marT6hA` && - `EhBp4mCxK0aRpAsOGgDwAeM3/C40DjJppDYgqgB3cSI3ZErodWIC1qGHleR0FBFgElKdm8kwSpCUAlW3WbxQxb6MZxBZCqb1pdZUWuo0FCsB2BdUrsBUgeac/OSITfMJIAeDHcVH5wYJ/nOL+LDDVfXn/3BlJfWIVpwpirLhbrjWIdZfukaA3m9H4wNKrcHd8ZV9tuae+JguAeHIwLIeseGHl977Jdz3hLEiIi02KJ0GIjCiaxlC8+QC` && - `hqV9gRfAjWfCmxsnN8YzftEGgGEhAU/DFDxSEFC0abmuU81ahbDkEUUpugAZ3s7HnBogXFKoB3TwFYRxYo7XUzwm9R5IlTA49A1OU4CkR01CUBx7c6hmsaH7mV5w1ugoqTVpsuBa6wBBQkVaDVdnuUG0BBhtfIadqogxoWWWti3QeK9x0xYG7OX47/AITuQeQqQSFEE6oz8ZJg1Xr0oKgp1SYOz6Xp1pQbNakADnAYJfg1/GUi4nSjIB` && - `jVWU03M5JAIA/ZB+kcA78TfFF4FTdXQ/oVYgYTRYe9mjUX45WFHhB0fIYDQP4htVVRRCTrcOs0ODRNC0CGlqxBbFzWCGLrznwWNb2uVJhxheneVbjopBNr0g+veUYpUWitq3tJbAgPC4N4kVzcMypvUz5OsuC4gnjNBujGVB7gBPlmkgp8frEijXHI6fVxYwoEgpYwuM1o6lS1Vdoqq7VVw0XnnLB3gxpAAUCwXzK/u4qNpA8pt1sWE9` && - `Lg1fXyO6nABcnHXfYkCfgp9ndx/bAKEchEg2bjVTQhkPWa1myCiMV0nG6XUzvY30Zw0aAws1ehIOjhAKLpSql+KCMNykahA1qe1uP3/HaLWI4jgFEYRooLArqJmqbfh7ngKaDHI7glh8IK/Yo6Uw4PY1lgjgob9BrAa49Chbl2IBY3BySwM0pUp4TiOxEcEMwnwcS8cEafGDT1Zqm3kDG6nb4yW4GiSoLOD5PTiHiZr9e8RdCYyKEzlI` && - `jFwR8nC/UfX2W+b+zcOSI8h3HnCrsyxhkJ89yicUT1h0n3nkMWSgyUrcYi9O5VVpM9cMKEX1hKiJdayCXXwYvWrg2QDe1TR5p7yzpAmMondTyoIDaMF+FBsF4nH2+dfo8yBrESliccCE/lLocinwvVXqgnEAJWuRWw2KCrpUCzMDWFbqyHwcyCUcr0/wBQNTjLpsCERGUnPJdZAhJttFQmAxr1Jyn5g/Tt/wAn4AKIgWtoIhBCWul0it` && - `ENkG7hR6pomg9iilLBWMVC/DLTD1zAqxplIMiOOAgr++Xh6Aocj69HzfOR+IaYNL0mIImGjNTKHznWYKQwg03hIYxJ5H+cWrgHCO6o+MBSlM3IC5ZecxUCwvn1ghaPLszFgQgke8IOBLD4IWG0XzrCLJTNUvl+XpZ7/nhB4maiGkRRHpkkIDAQmgv4wCM+AYBEKgCcNsqrLyU0HopH2n5w2kUDhCtYbnAoAq4TMkR3A2J4w5sIAy2BeF` && - `Z8q7rd2cRyw1RsTFVPMODebg8YUVQfWn4yigJaVUCs0e2OrB4wgtWm3zO7+DwQNBkGPTuUHmbG+M1oeMRhX0wUMIjObwt/O8CL4zU+n+c1PxgAutt4J1UubD7ueNG/Eu/2H98nuQiRiH0U8/HnGSisCg3qp9ut63yfH/FpgQFM8rZEkJLQ2j484U7KlmiF7JvSUAmYROn8YwIH4wj/AFD3j0thk65AYNpo5uaesPdK/LjkRo4aTFRG/O` && - `SW6ExMPxif3YzaG8kp5cHRrIYojAn0Y60YYiOJrFkVvX1klkcgCcv5/vxbst8agdhBCvDyXCZAIBwM8f8AH8YJBIUPWFlBuInkopn0Nk6cKjabwEBrK/HiTMYGOxPxinRe/GaTPBRc2NK2uv4yKA5cTeIF5M9Dvxl0cOvG81h8ayyDy4ts0Z23zmQN+cNFG+Y9NoONy6wD7ZyBu4QMExGIAlB2JPaYZLdGlTBtUMQIrP8Ak+P0D6+5lR` && - `E/bDMypppEhE07DWMEoVVAs7VsMngBgCMuxWk+Jkca9TmMA5kRGjH0ObPrJJ+cYhJMQrgFMb4yPWGFFCuEj35jXcXRjIq2Y5Lm4F4ZQHowSOBY2Yu5ZnDDKbcafkmHnK0BlB9nXf8AndMK2ptcvjPMbbd0Ij9XkaNQRGY4SxCwNI6sgQKcFgmgqTeWLPSZsDS+caNeyZR8C37zShvIoZCtzFEc8TPbENSVnb0Bphp086wgE2fGM7bBJ7` && - `wkdDJ2IOG2Ca1iMEiEBQIpyCmT+gyz4BEB8NXrY6x82/sSdFUjIJppRbXQBiuwaICo2DQudzgWwBQ6FKtnkM1QVGEYVLJNKLT2Yo2HPjGmLTWsO1KccEuy1PH3ir9GdtDG3tr3/nLNsimH7OtPM8SJ9Du3K8WW6y03lYVAear6GuhcA4PSJsPLbXf9DZiQiJpwl7IcpuBLGHC6zxQ43Io708Ajlz5aHJv3y+waaA4CvQ4CUROkwLSzBl` && - `ASyTIPIuBFAvMG2PYaP/uVCA6esFvIe3ajSevOulGVZeLCANDWlAEREcMm/ZcGlNRo1IeUpoARwkfk8iD5OZ+P6G4CAIkR84viu+H1ss+mHHzSUnnSb++AKOdct2+Csm+Soh6D4IE1AHSEXAl2JWMNCzy5dbywRSFE3xMD1TA2q6V7VSJs1xBkeJj1SSDUu+Q84TuRykbe1ZtxRwABQqD7hSKosgCpBzm4aeEfADxGo0cAmv0/P9KmTp` && - `hQiAUN5gggIGT3KHnvRQVoIReBgABKJYTpV03o3zVwkAwoGokR161hoQCAGg/qHj/+RP/Z`. + result = |data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/4gKgSUNDX1BST0ZJTEUAAQEAAAKQbGNtcwQwAABtbnRyUkdCIFhZWiAAAAAAAAAAAAAAAABhY3NwQVBQTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWxjbXMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA| && + |AAAAAAAAAAAAtkZXNjAAABCAAAADhjcHJ0AAABQAAAAE53dHB0AAABkAAAABRjaGFkAAABpAAAACxyWFlaAAAB0AAAABRiWFlaAAAB5AAAABRnWFlaAAAB+AAAABRyVFJDAAACDAAAACBnVFJDAAACLAAAACBiVFJDAAACTAAAACBjaHJtAAACbAAAACRtbHVjAAAAAAAAAAEAAAAMZW5VUwAAABwAAAAcAHMAUgBHAEIAIABiAHUAaQ| && + |BsAHQALQBpAG4AAG1sdWMAAAAAAAAAAQAAAAxlblVTAAAAMgAAABwATgBvACAAYwBvAHAAeQByAGkAZwBoAHQALAAgAHUAcwBlACAAZgByAGUAZQBsAHkAAAAAWFlaIAAAAAAAAPbWAAEAAAAA0y1zZjMyAAAAAAABDEoAAAXj///zKgAAB5sAAP2H///7ov///aMAAAPYAADAlFhZWiAAAAAAAABvlAAAOO4AAAOQWFlaIAAAAAAAAC| && + |SdAAAPgwAAtr5YWVogAAAAAAAAYqUAALeQAAAY3nBhcmEAAAAAAAMAAAACZmYAAPKnAAANWQAAE9AAAApbcGFyYQAAAAAAAwAAAAJmZgAA8qcAAA1ZAAAT0AAACltwYXJhAAAAAAADAAAAAmZmAADypwAADVkAABPQAAAKW2Nocm0AAAAAAAMAAAAAo9cAAFR7AABMzQAAmZoAACZmAAAPXP/bAEMABQMEBAQDBQQEBAUFBQYHDAgHBw| && + |cHDwsLCQwRDxISEQ8RERMWHBcTFBoVEREYIRgaHR0fHx8TFyIkIh4kHB4fHv/bAEMBBQUFBwYHDggIDh4UERQeHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHv/CABEIAZABkAMBIgACEQEDEQH/xAAcAAEAAgMBAQEAAAAAAAAAAAAAAwQCBQYBBwj/xAAaAQEAAwEBAQAAAAAAAAAAAAAAAQ| && + |IDBAUG/9oADAMBAAIQAxAAAAH7KAAAAAAAAAAAh9pMrGnC8gxLKqhaUMqzdVLV49GkAAAAAAAAAAAAAAAAAPPdbSYqcNfyerdabSYcu3R5czFlfc2ebnlurvP0bO1t8Rntn3trmLvZhvWGfpcwSAAAAAAAAAAAAAMM4K0eu5tNfE1vi980FPDj0yj8xytIjzJfPYLxgVehsElmsZ+SR3bzoOO2vbz9Or2PZ4AuAAARScpjbrBtUAAAAA| && + |B57FVqdLY0Hid+z91Dn0nrV/ODaeHzCEiWWZqxzpmKK1nrFKTH3Jbs1F624/ICxH7BeO+3PE9d73nWB34gAK3Bcxx62tHu8/B9D7CPqvKAAAAAAUZtLlbU6qnJ816dijlBy6ye1/azP5h5MJ447Tc8reSueU1mGeGFJt2tZetEvtf1W3Jh7ZR63m9hvn9AazZ/R+YGtXFdh+eKTJ2dL35n1dlRvR8G/wBTH3HhAAAAAAY8hd5vyurRyy| && + |YeF3+4yyVVlvV9lbdvXrryhBpS/jprWldn5TgxvssNLZynYYWIuTVNBEi5nBPaJovdVpX6R0PzzvPb4Z9HyXO9mO4rS7/z+vl8Ot0vJpnJQx8nr+tD7fwgAAAABWNNxvY814vZQ11uTi6KM/VY2c9a2dKWdG9elQuzZZ2p1dz5aNXcnzrPP6ft/dI+eU/o9fSnD3Nro4bCbCzxbR+PYiTmuv5D1+Ta9Xy6bbfU9Bscr8hFuufovySa/w| && + |ATr+xtVovr/H7JpNz0Z+udg5tOoy+WfRqWu+cfR3p3ul4mrxb9V1HxW6bfUe7ettL1kN3i3rayzyFdL3nL4d0d7d4jd8c9XZ1myxiT3DOSSPyJ9jeZ3z5nfc70Z7v3UbFEEfQULRrItbsazsPiX2nqvW4vmu2+rurL4/yH2LivI7Ndeml8frqjGd7y2F/vxpWM/YXuX3fhBjZrpqbpbTQi3HktdBt9VaNpHhrN6drnPFS3O8T3HE630W| && + |p38HrccvT6q5wdHZ7fR7jztJZIJZrDPTix0v049LtXDTU4exsN5xW1i3eXud6vDLk61yLWnvS8/wBRpn1o9zh4Pn9nV+Z9OKKxW83pxymyMNfcytGvz5m/3ZbvF75uoWiLZa2z0Vnx9hi3mo3FA22Me17MZNlrN9tTT8j3XP8ALtxljfXbW5ybfV6sNVyUfrc24l0Tqz7ff/Kuw8fo6rltzz7Tk69jD2eLa2oZOTr6D6B83+i8cc6wmr| && + |S39A0299fhRyfN9q83egk+S9aaBjz6zZw+F+v7alo4po+nObPW7DNI8957VtnQ2fTWeLKpW1OGbyYz6fk9x2Uw67ien6MtXtaewpMbyHm0wp+3aW+Ow9Fy30vHYMNYzv6nocZ6Sj1ev8Ls5Kj2cOluT22yu6xPsr2hrhFvIOp2x3vp7PF58u+o/F+XWrf8fKer6eZz74xlZsQZzMHD97y3o87b6+5nrdHBZnDf2iSJ5FqcFmprWG/pLP| && + |bHYVfK+uXa6mXYMtdVzpcm9XX7CjM6vlur86o4qx01Psz1H0LjM8XV7rm+l8veDX7HYXrr5b9u9cefvQ9GfO7TWaHen2roPh212y+j/HMbnFtZHh9npSvF1rJda9Bhfp5a16GxoTXVbCpf3rI8clvNhR2W0Rxz1kx4zZROns7eG8avY0ZOim16/wCc7joy7LVT2dcdDq+112WvznTd5pNdtBPPY0vX30+9xyoS7u5XLU3L+N60Mdhps9| && + |Kmgv67orUgylx0bbS7Xg6LdaSDmiHz3GIo7jSfbvb4vkPa9l57HH85r+VfkPbVfY84193TX+7O3nq9xy6RRX8L1t1868xJ7VnytZu66WLWef2GOjTbjXw9FNphD50Z9jtOC28U6rnsq3Tlhv8AR+0t1cuh3SMlWG9dhHrb2do+P8qxenYqZZaSwRXOXbK0wwnPCTyiHn91vvS5er6I+m8wJfnbcdBxPi93R8v12rl7B9O+U47WthrveP| && + |p3GVSbjT51/YeeT+zEC5qJWpq9qFGls8rofJsbRW9wq3jaT6yakbDV2o9Ir2ZKu1bF3UY613NShZq10/mFLLXsvFqvUs85u1ocjBrJOvGx9ayv/T+YG9APn+gw7PxfQg1nNfQ6zlrtP9G9fg+JQdXzfzvrSbHGfi1zmr+5xNHH4WdVnV6WxlxmxV5sPaT7Yj8R5NhOVa1+OYizmwu8pzwWQZZQ2UJ7WOlfes4H6Z6nLzGi+7aXs5fk1n| && + |caDxe3XXfqe07sNTv5XqcoaQAB8o0v0/5zxdHU8po+q59cfqX5+7zu5vpny76tpqPm3ul3Hz3pZy2IOLbGPHGEUE1Ppm5s9LuJqg9x55m8wyqzkhxlJhjnLCT2K0z1LtG0V/fZU4UL3FdePV9hwf1b0OfqR7HAxyQCQAAACKUcjF2Y+bdhuQ1ezZz8mg7T598z6m5i1t3i6GM0UK1K1F2MdvWzwjzLGzkwZRyPJDLySOzOKxHZLrNtq7| && + |R7DYp1mpn59Z9blqdT577PnhpUAAAAAAAAABzvRKz8kqfY+Y8nq4irutN5Pdrc85NdLtnzziiKaH2izhHJePJI5peeY+Js4QSWjyPH2Jg1l2Pam8+qVrP1HkhtQAAAAAAAAAAAABqdsrPzLR/VdV4nfxvtuj5nTPDHLnaOK3jSayWOqXDDKU+FddlHc0+ij23NfT/W4uiHt8AAAAAAAAAAAAAAAAHnJdd5nb41qvpdDwO7msukmlzGG6| && + |53O932jd8/eOhdw6I0fV9L2PucGi3x6PKEgAAAAAAAAAAAAAAAAAAAOUo9ypPPbqdSfPTaoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH//xAAwEAACAgEDAwMDBAICAwEAAAABAgMEAAUREhATIQYiMRQgMBUjMkFAUCQzBzRggP/aAAgBAQABBQL/AOIEik815E| && + |7CWbYQtyRJOTM6tDC3tEx3eX2xv7R5/wBOfDNOFaWcGrPIdorXbxrsUciT9qb611bkeZsIuLMjCKwi5C7MxYD/AEk9qKOJ7QaF7TdqIwFecgl5eJCzytEjIQOfc82P+w2XVh9TKy2yhhkM0oI3/wBBO4jiM0vOZmZZGVkd9wzHpv0/oHH9rO27cUdYqtYMEXnBqamzDOUlgmWb8jMq/wCDyG+TOQ07M0bSxvkjYxzl9gOb5v7n8sm+6D| && + |x/S+Mn5SLC1ZVrzxwy90b/AIrMiyWvznJ/cWuBJHuTugcNj8FY4cObdTn9HfB8rifAOb5y2wszLVT6eao6zL+CeaKCKW/aOpXktWo/zyDdb8ipHZ7xDRyYzYzed85YTkZ3wqMPgkZthTww2O+Jm/n+unafuU5oUWBw8f3ep9eNKcwq7Yw2H51swvlt4GeNRG7EYW3+zxnlT3MDA5yGK45SyhRy3KnOWKMkPgMNgvT+B0m6WP2+otfTSH| && + |gqW7EyRjOIGEcm/M0cbPrUwSqqnYsc84VzcjNzgPIec23GxGbHouOubdY29r+SrbZv0kZRlJzEK5LfZK6xR9yXVdbeCxFPBaEq/EcKbfnPgao8Bd+TMvnCM85tixtm2xC4hj71vaFIZgZbHKO9GuXGWCsiMRxzbouclXEYnNzvtuK8pSbTnCjpqup09NhNrVtZwWtN0tZ4NZuRpHHGE/iPzyG1PjRhW4cW2GecVdsbY4qXIMhuwyOLgF| && + |qftWEne0a4r9qJ7H1GnQ2y0HNXe+0l5xaginOwXbNs+MUk5vxC8jl32PptgFI/Ed/XZ7U6wVNPnapqGoZUqVqiWTKEb3VmkIxZD+ezZiSabeRpO0mSTESmeUH96XIqzoIlkYzU45h+mRQiOojJ9PHstZRkmn13apWCQNGrY2mDuT6RxSW7HBkNi5CrXZmyt3zEPGKyjJJG4x7yYWmU6prKai2nC5chqVK9RbOs6bXz9Xu3M/S9RtiMwB| && + |FUvioB+aeITJZijUS8VEvGVdOeGdpOOJtkpULJIZBAeGI/L7Dg6+MfYZskmTVpt5I5pZGWlVdos2zf3WohYg0+tQkw6tbuv+jWreVdNo1clljiSxqcfb09u5QMqJH+PfNTuTVY6uvVrBlmjjr6hqUggBsyzpp9iSSvEteuXbjPOVw2lV/1FWyOyDjMpSvIZI/tY9FC5KX7tMSLHPWr2MkpKK9ebuY3tMs6RrHEl7TJl7kunnWIqwq+q7| && + |Iv6VqMIp6Xsy1YxGAAOmpTtXr1NWO7XuwoII1S7LVl1K/tAbM/KpMJ4LOuLBbteoavCXUbCkak0jypHLPJekk03TUMVeqO0tDuu8/8ZmLPdlOGZBO86bUZA2CVxlUA/Z8Zv0OSS7LuWaNYFyNjHEMuV6thI4IKGpN7cjtj6PQipq9PUJZ68AVkC7koAvSC0ZIDYeZe+e3pl2TTkt6oLNQz6kSJvadYv0ZK917WRhmJoQb/AECM8lFXX6| && + |AZDwVmnHerR9uM+TqBKJZX2S/+1YmmY0NzOCA1ItwHRfgndtsLAY7ZbtIJZboZorQfKs2UXSNZduOowrJHDyReRhT0/Mtmbp6ktJiqwRcPksu2KufRKcAChQFH2GJchcMgYYXGKwySQKJpxtpvLaWQ1dRQqyv82w0j213MsbSKIpCa9E4xBer4A6DHfge4zYx2yzORg/cTtgmeFlytIdqs6CJwNrDSMxAORycF0CuE6+oQsOrowZW+B/| && + |I4vgL4N0vHVRHWIH7GcJHGTFFt4GzLknwxMktCUSrqiiKh6fl72jWPa7qvdtQbSGBkf9zi6WNq0DAtZSul3WSMbU7UuR6paRotXVxFMr43xb5MZ7vFIH7iVCWWIf8AGpuFLYg9z7Sw6T3ZrKqFXGIVdQnGr3IzthbpvjHPdngibTVL1qvBMHjD0klWLKhKQmIMeTKW840cTGGWOJbsPeTQuK0m85OVGScp8jjbII2lEsBDWX7MMhdpOo| && + |+dNk/aaQkSv7rVcDIgu1U9kJuTUQyVz8RbfVceNnS67Rr09WTtNYAAH2E4Vw/N0BM5e5CCvWXkrxbMvxjlWUboZAcqI6zFv2dP71eMEY8kImX/AKv6PjJPcbNfmkoZZNxv1rWRHKOJaxHs8gZcPMhVytEDlCJkuz3qql+5XWrStPYHx09YRxF6VZKsP2q5xkHG6haFCsizuI2HWX/qi2CNjHJv4OcqN7q7ho527KJKHFqKSK0cPwG2M0| && + |0cMjuM1qDt2JU5dGYKsTlxpUMk06xIuWIC2SRAEx7Yw4oqFo40VM0w86FkJ2dMjjjPX1CbMuv/AGsOSo2w32xxm/bnqx9nIz9lRdovGFcn8ZIMDlRSkLp2YJ404VraqstcM8chGS7ZX3ZZoe1kkth45+KZ3ot+BICnfSwtara1WrFKSNmYrKieYoQFpQuJW+KBP6dYkkLaLqcl2LR9Ug1Kpl65FVWxNJJr/wB3Bh0cbpPFKIySzxDrJ/| && + |ADx4zlhV/qLhdWIJOnxyfStMEhuDuNpk/PJIuUzwyxksj4u0KzuJF5EZzxoYmMtKu2GnJxFGc5ptatVCjcHj9QI/PZ3YZqjt9P3U+mDcLmnqDIaoeDu360bnULUkFZKw6zySxtYtxJUrzFqvkBvOKdstxCaKM96xGNj08cuPgr42w5aj7qtA+5T3HkM9vANwkgbnGVByairtbhsqLdEvk8bQgd9yJHRlkDKjxbwRExIqAdt5hXqurcPC| && + |rv0MIDF1xuTGuu2JvvEcY4V3w9GtIskNSxwm9K25pqmgww2eI228zLtki80UtHi9QGJ2bCG23Occj6e04++RO4DSK8dG1ImRS8o45Q2P5yWJmW3GUyeFcaLK1KOQR0bPOPT25JWC4EAzbxtn8VtyiGGtcLSVi8mE7tHyXPPOJ1wsMLdN80erNqWsV07UHSTwTk536Ozzug4Jy6MWAq2ZpGLq+c9pGPmP8Ak5xG2ycLJkvKNmHEV3R1Mk| && + |aYthomq3BNGrjjH8NocDW49IfKkNeNQV6Myqu+E5vvjyZavHt3e3OzlTntUdxsXNxh2w9NU+oNnQNPGm6b1lsQDJG2bGOwoN7CTi78lXPGIiIfbvPEtiLyrRHfJP5E+xmOSDupscQCM9/bDDs/1EmLqMG0mrVIIV1STc6nu0traux5FW3yWQCQluctjkxZY4bWoYZHmwqBm+FeeRrnHYYHyQ75JKiN6Zi7+qfZrtUzw1p0kr3eVTNOjF| && + |xUiCqcXYFH3weegAwuNs24tIds38YnxKu+cX34lMVuEcrIX2jbIo66YGj37cThYJfp5Z27kN2QYl/6ZX1NXr92btSzSSL7e9yO4PIquIo3ATbYZKNuhzT9Os6pNp9SKjT+yvo8Ea1tOKapZr3reRJ+k6/f0arZS5Un013AXIzitgJ6hc3GMAUQgOMXGGxCjkxJXtOymPgFj4ZuSVbfGH7KkbGDuKI1xj73i/bhfGbi+tR/8epMtrOPXk| && + |dt8Zick2sWKFG5bWjWSrX+3Srf1tP1JBLG1OxHbq6/T+t0v0ve/UNG9ThpCzxSn4xB4iB2AwADDnLOfiYBZcXP7TEHvObbkRqceFebx75CrMJ4jyh/jttkLMJ3yPl9VZf9hrEdjTadClrFK16YtVhBZPftWoqxkHOIR6lXVINUmFHSKVaBEVF+67y0nVAUliqN+h6rnptxQ1+1CLEGpadCqmFYrSoM22Azlm/RyQflot9/ktiYvQYpxz| && + |gxXAzcg2AJMUBVJzlg2yQK6inG170o2+m5qmm09Sik9NTo5qTR5WoqYoa8UR/BVss8gab0/atwVtTpULk2k2PUivWkqzx2a7KrZPBIJ99sjlEgzjmwxskG422yFt25+1vjB8YM3zfP7YYDhHg/P9qmcfHfTt1OfP0XIWqdSAfx65pNbVa1ie3pyV7n6Szaho2rVdN1C1Uq/wDju13NNzWIzLp89WVJqCTBmTyTh6SfxL5AT3mXN+m/3H| && + |p/TEHF+cncRxdt2kSvaYena7VqP53VXSf03oszr6Y0UQt6M0ovpmm09NjzUp3r1bM8liVH4FZd8Yqehxjk65CvHOftwfaB0Of2w9oHlVx/B1BlMMarNe03S0rS/wCPe0oyyuWWRG6AKcchQZUAB5FFGEdFGHDgxeg+WwD3N8EeVOwk+WhabKWnQwf5Wp6TWvZd0+1QxGVl3GOw3lILJkfwfIxW2zflm2AYBhxcbBjPh+GyYuZtH0y3LY| && + |/y2UMtjQ6MmWdNuV8Oxx/mIe5V8Hx1U7ZzGKw3LjiMLYCSPgA+WOWG4QNGfrIIkhT/ADpqFaWTUoYDLGnHEbYJ7maIKWGbYevL2jydxjHOWM+XGsCv6cgsWbP+gtUYLBn0iKTLNGaqIQJFlu1o5kIzkoxvdgDYegGH5Q+9osszwRSsjSJolZq8P+j1jShYL0xAm70sBBG+cm6ADGI2PxZjkdIrlmNNB0uSzXqaTp9WT/S3NJeSUaNZ3X| && + |Qmq42lpap6h6YqcXq6tUEE0cyMWijgtO4cO+aJE8h/1uqaJVuSSaLZsQ6dpwrHtx//AJ1//8QAKREAAgIBAwMDBAMBAAAAAAAAAAECEQMSITEQIEEEMFETMkBhFCJxYP/aAAgBAwEBPwH26ZGLlwaWVtZoY1X4aViiY4aSWNMWOPB9NcDwpk8DW/j8GON8mPGluutdkkZowkrXJVdsY6vZhxRHGihIvq0V00ozRad9mLC8hHAkq9iMdT| && + |ohjUe6l1aEZIa1RKOl10irZhUI7L2cEKdsRY5mtDma35Hk+BZdyxj2JSo9RCnq+SONyIQrghGpl+xgWobfg3KP9KKsqhwRUvkUmuRS1DRmbk1Ei/jcqT5ZBLWq6RxSkrXRYpOjJheMWOTZ/G+WTwqtiEWtkRVbiNUT+r60KkNWbeRqt0KVozKX3M+pIw41JLUKCXHT6b/weO+RYv2Tx6lQov5NK+DQiWzvpHcy422YoNLca6bsoXTjYS| && + |M7Th09LWnqyLlxXX9Iv5GiW6FwQZsfsnkci2YsjezORqWrcxp1uPk8GSepkVqdGKGldnkvp5EIcdjHG9iD8dOdiacekN3sb9JMkyb0x6YuRKlS7M6sgklt089Wfa7RLaVohKxUSxavJ9CRCMoPghKXkctx7j5Gm9vkfpZmLD8dG6Nauhj4IcdnJQ1ZONKjdEXa3E09jdE8h9QUxSsZjXZP1Gkc2yxkN9yhoqu1414HEdtlPySjRFWaaV| && + |lfBHH89nqJVHrqlGWquTJkfNbEPURfY+5UOCY8ZpYoXyJqMqfY8lE5anfX7lpYv7KmVUqZDJa7GuxdKKNJo2M7encx5pQIZdY8yWyHJvsjlvnk1p7+TK1J2jHkcHZDLr9zJNx4M/2+2nTMWSD49pdMuVQJScnb9xNrgxeqa+4hkjLj2cjpGSep376bXBj9StNMjNS4L7Xtyeoez3/CjJxYssK5H6tEPUprc1I1J7GbI09Kf4+pkpuTt/| && + |8AL//EADURAAICAQMDAgQDBwQDAAAAAAECAAMRBBIhEBMxIkEFMDJRIGGRFCNAQnGBoRUzYLHB0fD/2gAIAQIBAT8B+XvWPYqeZ3F4/OFwG2zvpiK4b+DdgoyYzgTUXb/eJqSowTDqG85neY8xNQynMq1q/SPMBz8/Mt1AXIl+oY8NN/tM9dwKwMRwDK255mltsqbax4gYN4/Dbb2wPkHxLGOcy3UGM+ZmbYBPaZmeiMfGZo7ARt9/wa| && + |rWLpxzH+IOz7sfIts7aFpbqmsP2h5m2bZzMkTuQGDoRKbTW4fMqs7i56O20Zmsa6z1P4+TrLsjaI5yZiVUBhP2ZsxdOMifs6+0TTYPqj6QgceYVIgbMJlI3HbPh9uRs+0e0Lx7y24N9X6TUuWpMz8jWN2v7yupT6mmUHgTvcQWH2M3mdxl5ELk8wXvN6eNsamtxheI6duK4M0QRFLxwf5jiBqx9IzNSz9k7ulmrrrfYxgYGPq60zn2mm| && + |1q6gkAYj3qFyOZ/qBIyFleqYNzyP8AqXWBuTLW3cSpd5nZ+wltZV4fPQECHJlb7BNxzlTNwcbXj0BCPtNG9eNg8zspnJE1mosrLds8Sy2yz6j0a5Bg/VBqgowBDqxnO3P9Zp70R8kR7F9lxBe494NQ/gSob/QYRKm28Sq1dvMvtV39MzBAwB5iA2TZWP7S2pWGVhU+YWO3BmkDC7IHT4kW7uOtbAMCZfTV9W//AB0XzPI3mFR/LKWAbm| && + |Veh/ylmNxj7hyJ3HP1CG0n0CUaFE5bkzsp9prtKtfrWU8CIU25EbBY4lnEb6hNNVsXMscIu4zUXm18/gH+2CZZXgbugOU5jGZz6pk7pqGxhpao4MMAK+oyhxYgPTUbdh3TuLmLqlHmDVBvEQBjuMqUWPg9NV9Mscu25ug6aB9uRNSS3LdEOF6BPGIAoXMr/eJgxeV2mWrt8Qbs5HiU3dvwINYv2mpZbVxuxLq1H0QV+nmIAg4ir6Jwo3| && + |H2xB8RqJmq1Z5Dfp0rrLnAh07hdxH5dEOGBl5/ToviGKxQ5m9m8SqxhEbcd04PmMNrZWI20ciFkxmbc8zt5hSbIuRndLm9paoHQDMr+HB+PH/uLSBj3xGUjzPMuXB7Y8COm2V2KoORA6scGMpEErYTdBccYMBPtEyohsOeBEfMZsTcWMU45eW6jIwszt5MZs9PhtLNcDjiAY6dmu2vYW8TT6ZFUqp5M/Y7F+qOm4ZhGOgOIFyIOYlm3z| && + |E++YPyMbf5Jiah1WLqhjOIbUOCRLLyDtUQq1lYsEdpnoml3e/MoTtoB1PoYOvj/wC4jjtuGWE5TKwgKdsd93WsY5hXH4Nxm6ZUDidw+07wLgkTSIgcbP6zU6Ou8c+ZdpBSQPf/ABK9K78kD9ItajnH4Hox9Pj7TtlPSRlZQpRdpmo063JtMu0nZXk9a8kS0YhOeoHTEJxNLpxaCzTRt+846Yz8mxSykAy7SXglmjDExK/QJY5aAfgIjQ| && + |HM0VHcA+3P/iIioML8xlDeZqvhgc5TiGlqWw4juNsMHEzBiZgbMJzKF5/WU17Ex88qG4M1GhsJOBxLaHr+oRqyvkQ9MwGJWzHiaHJZfT9/4J0DjEbT6jeQVyIPhNhPniW/DWU4Q5hrbOMREao7jNLUtibyuMzGP4YoDK6ErGFH/F//xABGEAACAQIDBAUJBwIFAwMFAAABAhEAAxIhMQQiQVEQEzJhcQUgQoGRobHB8BQjMDNS0eFAYi| && + |RQU3LxgpKyFTRDYGOAwvL/2gAIAQEABj8C/wDoiKiak0INTURWNGDBhkQdaM1nQit4/wCUZV94rJrvEZZcZ4eupDAzp39ArDMNhxaZctawoGKXjiMnsN+x+PjRRVnKrTMReuZjEMlUE1LnCAMyayPGNKKznrUGsz/knWF0wnjOVddYw3l/tarZwA4+KPIA512MGIySsozRz40Zus68jGXsFZ60r4hC6CM/bWDNVOoGlSZ5ZmhnSNk2Hg| && + |aWQsTGpn2RX5vUriywgY45cRW4FPjQDVH+Qs7MFAEyeFOOt2hwVOsIAfUMVBt2eKzkKwOAycjWfn5dBV1VlOoIkViGz2QRxwClaAxTsltR66Fm0tw3PThOx4zUnMUY/EzMf0MSOjKssJOoxaVxVxqp1HTn581nr0R0YVYgTvDLeHEZ0lpQbWiqr5cNBz9VKhbt1H4bq90W1WTJMRA/ocs66tTcYgwcPCvzFLYTK2xJB/3HL2ikduu6wL| && + |Ha+IGVGAATrA/oIJpWGQyG7p4Rw9VC4Du8+f4LXbzqiLqTW1bXsDP9mv4d05Yt2MQ5Vd1APosRLd8/0EUyszjhudr1Rn7KVbFnq1R9CYBXuisK31S3wC2sx7491a+dPRPm9w812V3340PZ8JyqVuOwMDDGh+RzoEeeNj2e4qPH3jkYsHKBzoPeZ77j0rrYj79Ojv8A6BerfrA2QKDEPaNKxLsyC5mfvGxdW/AwMvfTObl1y36nJA8BXH| && + |8Pd87IVn0ODkWOTTr3d1LszLEDXzrdoWOvuuMRXHhgULm2MBvF2UemxM58OXsrn0H8dXZFLIZUkaeFNa35fSBQxxzjo1rWs6y6J/Cz6R0BWQMj5GdPCgpbHHE0COz5jXLhwqoknkKubXcd3Ut91bjew+iI4DTXKsTq+HBuIilpPfGh0/etzI8QdRUnebhUnj+PNKxA6z0cpPD+KxsoEZgcRWvTmakZipFTRt4hjGq/OusKyg7UcBzrDk| && + |bbibbjjzHj9cKSfyrqwO5h/Hw6Lu0NoqzUlYJ4eZn5hBzFG1cgDMqT6Q+UVxhu7p6zarsfpQdpvAVKk+TthPL824Pl9a19k2O2b1//AE7QxMTnqaNx7v2X/Ts2ng66s1fdtbMsSSvHvP17NB/Qb7Cxb/SmbHxPy99FbYkyMRn4njlTSZY6nzIOQoGy67UnJjDe3Q1hMo/FGyamtC3cOEYpGYj40cEu6+iuVxP2pkg3Z7FxWwsDwn+Ku9| && + |W2LenDp4eB93CriNubRaGPCRmGHyrHZtFyRIxbopLu07TbbC26vZVT4c/GjsqFrdpfzWKkE9wq1sCAzgy7ujPo0no760q0VFovilS1yI/fjWL2jlWs99NsfkJBddTFzaG7CeH1w411u1vc8o+UnzC9pvZ8zyo/br32Wwf/AILJ3jr2mrBs1lbY7uNAWhqYLZbo50k2jbYN2SMx486gf0Bt9q5+hBJ/jxOVFOsu2rZJxYIkZzqNDMjLFQ| && + |CaUEtqjEic2j5V/wC1uHww/vX5eBY55msSq57i5PxqCMPjQF63buj+5dK/wy4Txzr70T3GtIo4s6DMqsR+pZBFBbqJj4xnUUzptN23iaSFC/MVOzE9erYsdwyW7iaw3LF1No06oqZPgdK/xOzPcnjaEx3RWGz5P2jF/wDc3K+/6sPOidGZodWuLxMUcaoOEq0++iRbuRzMQPfTbMt97Hk+1qE/Mv8A8UF2W2PJmw8IH3jj640epSCe05| && + |zZvE1vbUrGJhN74UP/AEzyc5U59beyX69dR5R8ptgzm3YEAjxpbWyB1s7OWtZzm2RP13mian8bAzOB/Y5U+0UNj2VFtCMT9Xu4V/n96gAKq5ADQUyMMiI1pCtkHLM/o7vGsRXTuo7mHP21hZ29Rj4Vhlo/3UBifLm0/GsJyaJ7vwc6zEU2AW49Fjn7q6r7RctxBuFcvZx99JZQb9wiY3jnxY+J6QBaZjzBim2a5cuhbgzwfCYyFPtlwL| && + |Z8m2m+6R//AJSPSbn4ePrNvyRsmNQYN+7kv1oflU+VfKNy6P8ATtZL9eqh1Oy21IMhok+01ju3FRebGKf7Ev2y4nBOz/3aUhN1Hxsz7qwEk5r35zWBRJ/FW5Z2VtqGL7xUbeC8wONYkB6o6Nx9dNfZvu1XESM8q+x7PP23at+4wbKyP4yHfrR8n7AEVNnRQ925n4QKuLeu9fhIEO+FTxnCB9RSoSNxczoK31wzw5VCtR6y4MS+iMzW6f| && + |aI6MzhjMN+nvoElSea6Hv/AAMxTJbJr73Oh1tm25GmJQaaxaVUU/oUCDzr7PewrtS9pOfeO7o3vZI+dbRbt7UEZhh3fvSoPcKTZtnuXtpC5Ll/4ihY8neQWsga9edTzzisWLY9ij0dZ/8AKlvbR5avsx1W1ufXspbz3pbiCgOfrmrdt2uXlt9kXHLAerSgAIA0HTjQZzFYb4/6v3pW2xUtK3ppcxKPHQ+6KkGRVvCowGk6g/mCZqLlx2| && + |E6E0tz21csnY7zqujIy5+qaQWy1t2EkXlKRQu2la5bjMK1FrFzrXB3kJhvYaN3ZG+z7Qc3tsO14j5iruxFXW4sXMHHIzlzEisd5XXEROf3l5vkO7+ZDQOtYKHfXEQOPOr1+8hQu0KCR2Rp86gYczGYkd9HgBRwmM+dFG0Czl8K/LaKCgyDkD8qIOHD30LhSLkYSTr+BCLib3Vj61G4HATr4g/KgAkrixQd7P8AVnWKSyYdJxMv7/HxrK| && + |o2m2jDQYu+msomBL9uUz4rqPYake7jUJblTkhttMcJHL1USLaBiZZ1t4cfee/p6q2DMgzRCoyYDhhv36D03Nn2m7lhlGPA0UsYQon74jTuHOlxYzCjGUXER4CiiNdKnQdU5HwqHtbQ91WnKydKlLUqOyGgeqpvHC0DETkJ8aazZwXlIkW1BxeNMtzYb4fU/wDJiirpukan4ViRMB/sJX4UjXXe7g4OF/aagXHjWG3s/XnS9Zfe5hbFDR| && + |88/fTFQDdYZE7x/wCKxYTmYUDUnkK3u22beNTThIxsMgTRDGZq53wRQtvccrbJwKTkvhVtTO/kw9U0MTb3OhiM/gdSExGN/wAKO+s8c6yYHwNa0NmkZDcz17vdUMJU5GuquMcJO43FG4Z1DtjGQYxxqLnZHpnl399XHV8QtoFEaGf/AOR0jY7M/aHObDLCvH676CgBVUZDzcCO6Wz2kByI+XqqAIA4VCgAch5pKBVfWY+NBsxI0PDzZP| && + |8AzRuXNTw5Ck2u5ae5YW2RuLOA8T7KDKZBzFRUBwuUxh19dMp8KDLk61+VveIrrLjDTdwns0Ms8VDzO/pOETRZjixNiPI1hAHgKBAzoNRl5ZnAXFwb0Rlnr0NYtwAmTPy4wO+s5GPLLhRTaWVYGbcI591XLwaQclOLUa9KXrmQvWgiGOIJke8ee9xJxDumgxu9cGzDxHmsx0Aml6zxduR/ap0oMpDA6EdIt8NT30YG7oG/VV4TJNp/hW| && + |yvEQmH2ZfKkMNnu65D6j31J1iBREViQa6ihhtEk8zpQAdFnhE1jYbxrez7hXV2Lbf7q32NfmMR3mpu24aeGdZUaZAwTnzintrbyZdyDGHPXv4+2sxTWsQgCRi4UTm2eId9NcxG2wGHF+mePRfB7XWmfl7oprY3T9Z0pe0VQAq/JmkacY1qB0FmIAGpNPeVn+yAwnDrI4+HnlXEqciKNtdpuSpkYt6QeNRcvXbmeuMj5+aMRzOgAkmgrC| && + |MzA5CchWISjHUrx8edYbgg/qGh6PvLaMP7hNW2A/NcQO9jUESujeFG0ghLd11Ud2KuPqrNoMSBRNu2Y4M2Qamx2d4cFz95ApisKvotrPfWJgJ4d1FiCY5UWu9vj5mpFfmBiuta1nbIJ1YGR9eqsxucG+VYbefhTnFvERA4UFGlXVtziNtkC98cejaR6XWgx3YFHypAGRce7BWcXHXhxp7ly2iO7Tuti9ED5dNryWpZVKdbeM9pZiKgCA| && + |OHn50l0cGA9Ry+vCtDUjMeYt1RMAgjuoODIIkdBDCQawHNT2SdfDotktz0XLDy+H/bRo3LlwYTejAB+pvjLeys6utcbAouYQh3iWgH2+3KNKEggxx6MuhkPpLFMriGBg1E5+YoLLyg6/WlFZhgJjurC3Ec86hT7ahj7KgCsR7hNOZbCLa5cNT+1dX1ouPPYt7zewVtG1Om/m2A8IGQ91W3W+rIhneXM+P/AAPMXrLK3br7toHU/wAVgX| && + |M+kefnZ1OtMiZk8zx4e+g66GlwkYmYDD+rzGzIy4a0FUAAcK16NSIzy7ui6xEaKDzH0TRz1yrXJXVz4Ag0HRgwPI0m2LhuIxFuDl1YMaZ8+6emGpcb4QxyPD29Bcdls/XxoMphh0SanDApcEYR2zROESdT9eFFlJnUDvoAjWsgvspmImM8hWAai4uviDRga5mtlRMgEiIjMa++aKu3bGGfGrhVjv8ADl5hW08Mq4WJzFtZ+PnESRI1FR| && + |HR3ULU3jIgqHbtHjw1nnRm0inmNfr1+bphBzA/SOVa9AVe02n79EUDhhSAw76i8JBGE+FdSgw2rglB3jX5e+jbbQiNaNq+cWcLcyz5SOHKeY8OiGq4XOJXbKc8tPfr66/w102h+jVfZw9VdVtGzdYp9K0+ntqSr2wT6Sn6+NRjn1VmjEf7DUYXnlhpVYy8ZmhbxF3JjCgmoImaTsC22Q8avPilMZjOfH3zRe6cKgTJqbjq2C2qkaw/H3| && + |H31NW9oKFQ7M4HczEj41fukqTbshk5Kc8vhRSwyWdsKygfst/HCuvT7tkyuo2ts9G8ZfgtXHVvzlxXl5RkPPnoyNbOtxVCpcWWRs555jnTIwh117+/zD5mMBWUrGbRH18qAVR7a7XsyopcLWid2Z0yjKgcxMe+reAw4O6e+iCMJBwkcjWLDbKMmG5Izbl8Wp8LKV1UnXwP7/RlZkag6ijCtgAGEATzqVxetY6ZNq2x71FEm2Ae7Kgtva| && + |7ygc2mobyheK8Rn+9PgXNRm5/epiktsgvelhy3e/4+ysOFQmvfNSzuwmQp0H139H2a1+be3RHoji3q/ajYtrCWSLcf9I/er1thlhHr1q/s1wnFbfHbad4d45V1Y2i8HgqXntKTJB56msGx7S/VRAXIlPCco7qW3dW5YOHFcua4u4HhRCatmzHMnzAVt9YkZga/XdRvrcUysp30Lt1cLZ4h3jpzp7R9Ieyrl1exART+qJ/fzBMd1a+YuH| && + |gc6yEZ0DP80QuGdVnn/wA0t1TlrVu8NG3GPw+f/dQPRjQ4XiPGslDNM5cO7w1z8Mqm05t5NppiPH65197AH6sWtEjCqzlK5mouHwIFYsQivzFnlOdY7n3KasSc4+VAQEXtAHXxpcPWWxj17s8/CusvOrvEDCuEAUem68sSdSfhW02tHu3N2NYwAT7j7KxGYPZkaUzRnz8+5ag41AgH0poRZutOeLCc6S51qInW4mttw5mhdN53QN1nVx| && + |lj5/OOdZdE0yEkSIypbd0AcAwG6f28wYYmeNadEeZgOFbnLn4VGHC65waykpqeP8/XhRSRhbNW1g8DRLIcPHCZ9fOhcQhlOhBkGstejcfBHdRu3tnZgNXUyo4TB09VYk0OhHGoOdG4AN3KQOVfdi2qxq2fu/mgz3ccZiV7Phw90561p5rXTook1cs3yugIjlH7zTHGGGZU8xOXupqJPHzMugSddKuOyr1SSqP4f8mktzOFQPMmhHQ9u1| && + |gCDddmE59woKCYAjPp3BJ8YoAlbciVnexDnWAnC4E7prC3Hsnn0iprMb3A1lWLhrUDXjWFbNxBxwXXSfGDXW2Gxc0dyZ9Z0qc+8HVTyNTXdT30vXLRuahVWPhQ666IDf7pHqC/A0MCtIGr6/WVQOgs7BVGZJ4Vy6MqiurO7dL9n+2f299B81IEZNFBbZhFUVlUVNdmsunZRsttrl3ewqok6VasHO5G+e/zGxXkXCYOIxnE1APRNXSNGv| && + |MZHHzTgRVLZmBrUxnzoowgc6wwSOFAjzOVREHlW5lQnTQnke+sSrINDfCxwI1rCcjy4ipLEngOJorC4weWRFb6xzq5fRlOFCwzoCWjFmVOkZ+zL39ASHnURx+v2rEzaaAfWdAKGcEwWXODRd2AUDMmvuw0N6v5FGch0ZdEHzVVmguYWr21a29nTqhl6ZzPsEe3zftqS2ERqIjWrFxRlcOARwaNKTrFO+wRSM8zV5dpd71y0/ZJgeMe2o| && + |CgDkB529WQ6MXPWsR0FEdPgahcJPM1nRVVnkOVawTUMisORFHBaVD3VvJX6vGriswLsCO6KxscJ0+vrhWbtEQQDFFLVswTOKSxnvpurxddoN33511YdVABGIHEx75ojfAxYgrPiilQkYzoJ1o1p0Z9GXmfbLF4WVtHDbLpMggy1W9lsTgQcTme/wA23iLyINxEaLbtzw1tOwpfe1etsL2yydwxz5/80m1bTs4XqWVrezK8ntCSTpoK2T| && + |aryhLW2YlvrkQpJ08Bu+yisYARmOFYmxCwDDBs8I0kdGta+e1oRuxpw8yagVDhVH9pmahRAGgFSmQ/TWT+qPb8qI0I1FM+cAZxWQiMo5VrHfyqShU8jwogJigS3P8Amsdth/u4RzoWyN7iRoaTMZmM6+02t27aOJTy50Vw4L6/mWjkQfDzs66mJtW837zwHzpNlK4UXdaD2h8hS2UGnnC6VwXAcNxY7LDWrPlXZRN3Zu0OafXxpNotHc| && + |cSKu2gJdd9PEfUVZusZur93cz9IfU+urVq/ab7B2rjomIluC5Zgd/wom0yuO4z52fSLizOIA+vL8DMVigTETXI8COFNbuJiBHDjWJNfjR8YI5GpQ4hLSJ7+FFjZZQVgliPVofGioANt+0p+Iq8iSIgjlJzPxouUIa3J0yBwmr9y3IKo0htQRVu5ttgO5RSGGRGXOsfkzb3bDpZvcfXR2XabZsbSnaRvlSdbO/x5UwD4JHaHCsKNZvqMh| && + |iEGsJexbB9JASR7fGkQWcTAbzEziPE1hRQo5Dz/wD1BF/wm0ZbR/a36vrvqRhdHHiCKbZLpjYtoOK0x9E8vru6Ns8lndt3vvrA0HeB9ejRtMSAeVBynWLOHfQUqIoWVLFRlyz/AAADzmjOnA1l+DhHRmM9JBg+2oXTpmsLaSDVwNjC3Fx7pjFzB93tpVk7gC9HV7VamOy4yZfA0Ln2w7UEnAjpBz7+NHZhItnLCw3l8KwXrSiIKsuvrq| && + |UEEkn8G55I8sIq7QBH9t0cxWBsVzydcOR16s1gaHtvmrDh3il8neU2+6P5N/h4H6yrZvK9gb+zPvcJX6y9dJfstit3FxKa3lBir9y/ct/aCxLKTDROUf2/Ws9G4yv4Hp1rLpIxZDKO+o/FPS930VkH1V11475EBZyUcqfWCZHt/H6u8MNwfl3QM1NHYvLuznaNlbdXaFEg+Pf78qx7FtVvbdicn7rFDr6taNi9dVJzi5ulfXzp7W27Jt| && + |F3YGGHMdn11e2Ukk2XkeDfyD0XEWwL5MbpAPHWDrGtfdWbpCnX7MU//Qx7acPZ6s8SXxHz25Ze36ipH47XDoomjauF1uXLgaA2QGuXsoqu15Hjg3hWArA9HnH9AyOoZWEEHjRdthVSf0MVHsFC0dkxZziLmfbWIXNqUfpDiPhTJsdnqw2bGZJ6GuoASOdG5cOfwrLzshnWsnj+Nl0KhzDOo99JZjenIkV1jEv+nu/qLl1HAnRcNGzdQp| && + |cUSR+3TrHRn/RW1H+qn/kBSnCrMOJX+q38SNzSi9z76xwuIMx/uX9vdWJGDDmD0Z6Vuj+hS2hw4pJPcP8AmrT37hFhGFycEF4Mga+HDh/WFToaLWlaxd/Wh+POjK9db/UmvsrSa06Y87LzT0PdicIJrZ8GZYm3Hjn8qCooGX9f1nVgPMkj0vGuqCmzdGu97xzFRikjXKCOnOp87Pzb/wB2jJhOjQRlS7RfwWksHEtsbxLEEZn9v8hxOC| && + |G/UDQzzGh4j10S4a6n6lG8PEcfV7Kx2riuvdX2e7fUXeVZ6fgCpmhba6oY8zXUAb149WPXlTFwQzHQ/wCSC9sw6u/Obpukjv51c2e6Q5ZpuA8SawmW2bgeNv8AipBkdEdOVTQ6m4bbgyCKxbXs910/1LQkGnv7VbKddcJKOmfcD3V1lnZLaPM4gP8AJmu27yyx0Iis3tR4mp2bBfWc7NwlB/0kafWlfZLmxG2pO/cuMMX/AE4Sff79KV| && + |vJ9s7OwmStxpqb2zNtVoenbXfHqrHacOKF1skMmTTEbE5QrunEsn1TW+mBP08T411ziEHZ7/8ALvtCTs20/wCrb4+I41b2fbNvR7FvMIljDiPNs/dRd2xsRHdXYX2f/jr/AP/EACwQAQACAgIBAwMEAgMBAQAAAAEAESExQVFhcYGREKGxIMHR8DDhQFDxYID/2gAIAQEAAT8h/wDiKjczzKFcUQUbt3KflOOPeCBkb4DyMVs3WbZqFn| && + |iItirN/NcQLHH/AEzqZnliNau6aEWoWD2SzYpYcDsjwGOZusnUyJAWUUWnS14u5bo7kDn+4/0HKvyVAP3+zAypMTcDR3gOdcWw+naIoJckq2SNNc+m+YM+EB5uz9paCzcbAC/+kDIFYyI7uJBJvJjxQ36b6tw2CtaXGWas9CIwt8cGdV74d8yyNxqlfxRZ/HNxfb2MRYASByb9GseCUA0WFh1SIe0CkRgWpV43zfO5ncivvLJQGt7tTN| && + |+K1q66mc35pegV8/Eur2l9hcryXTZdnBAwhp2g0Gd1qLQcn/QvhEkoHcakshWjVWAfOT7SiGmh+Smv2iVK2dnxHzb8zQuXZCxUOpn6LFPXKMLxHm3Rj2hjXgXH2jafkzbOlk5+Y11lFD7Fr0IJd5IdlE4f8ihXbt/4O0u6v6U/Aj4BkA3YR9vXjdMvNQPPf65LMMtVGJdwwqHMMMcNkG4irmFIYgWZQvumqJzQCorUL0Qn81Vl3PVOKn| && + |sqnZlSRVBPLf4wMmhwMntz/wABAW6mashcIvD726x1vxElilSHWqrUjUDlaI4PqLvmpeX22GfWPN3ZMj6LbJuViWJa2J2+0ahuDLHdniHXmNzE6I6ZSVKGoUHrGnDJml84IVR2OHo/wkxa30EtECw2qFb4Fav4rA5YFwXb1cc8Pd/8C3G4dZW+auyhtV9gtxVhFBAiA9WuMY11iXa9Kqj4BVCp4RGLy/U5YYiMIeCWlIa1LIwc6TM6gt| && + |wi1jMrpSGrfiA6J+Xhho51e94IcCKUG5VKLNr6IGaFG/T9eR1V6tp4Gc4Ct3CLNQ4s3j9ioDMA/wDAbARTWm7we5l48zWtFkv2DN10j1CHH3fMdkbS79dcRF4YOHFOpyGEgWoi3FTUUvbLHxB6vE0yiGCxlmfjM8QXtYpCuM3S9azjaFxhgBh/VdYnwDFadt16Qtou1tiRpda8H1le3KFlD3j0eP8AOqtAlWlL0xNZmHruX+8wGaBBxH| && + |/2Ii0hlsozkKiecpSJOjXM4f0DTZAbllSJfpmOGIXdRWzqchmOqnBLur8TLAgi0sZtIfu0iuc79OSNbduyuPtjOY8tV8foG6u7gLWFFWcpFui0dq0W52wo2thJyIUAbYy8JQCBjabTPuPxMMq+BxKief8AOQi4jB5E4mw+2bcF5iPeHKwZz78fLGaxZ4ZXBuLqkgSrsCHVIP7pX1Behr9nmNe5Xty05rnxfpDlLgeKGT7vS+0RtLtJzl| && + |45/JFsudZDdvB7uPeEVELea8TNuPwI45m2/pEFlTfaivMOojMQpO5TjjIqc2t+Bs67mR5o5Vnt8f0+tCTR3F6/c15lZmYX2O/T43wm/fjTb7Km+TqpwV+CGx6Ebo3XDG+Z8ja+DFvR4xaGIXczf86jkGGqXizBZhA1xJekJrOttlYedcZibgzJ+Dx/d3LtYYGqHr3OZuVt5i4HRvGJ0BXqHIerEggyOr259SDsMMPJq8rsoFjUodilzk| && + |un3xK0N81gyCrq1HpM6NJARxY4BL1bhVUVx8zK67JV9MBlmKAwNK5zewTzLVXNVT9spznS9EduRehsJ+fj3dV3OoYH2H7dxeZomJfwjfawFVo5i1FEfIgFwhb4+yc87t2FGsUQwFpwu0esxFIq8uJXBBXivtznnQgdidBuOThRXwOp72MQ4fBgw+JcZ90z6nbvmZxHzpZ/73dNVEZdyxSl5W2XN73dNzREBi/84SW41G9KcGuDygG1rK| && + |48EABBeSTLXyX8xZARfq50uz5jQDG1I+4l17ep7bGD2fiW2qFq/ux7RmxconQAFmmyWbao2avu5gqt85CZQZuoVQZYTGI6lCwuoR9WnZ6KKuHYTvGXLiUlEDgaJuLbAWg5OAlC4I2CFcikxRBLguzLrAWL0kf2zs2zn4d5jvl1AfL+JfJ0CKB5vncsm8ekY5YXJVptAVvTK9gRu1XJgJKHpTmkb4MeIbRXI91VDnBzeApu3O7SsXVnru| && + |m2GA5bLPaZeZjsfNvxeA+sFAUp21PNPGrbxGgDBaR3Qv3GUyiFTchHpf2AqxeAg1m/82SD22D4H4YZBo0Wl0Gl3qtMbC602UFBwEo1VY03FYmR5PK/ge/FgjerxZ+DcDCVGCh7v/Y9yDe16XlH/V4Q/JmVDowzXM7t536cEFUYKN+x5z+3Z9Bh9SsWQFys3iS4yL0TAxyTf1x/MMktAhpWjFGt2PXNasFShajYyBb3KnSTF2ygixVZBd| && + |1djxEoKwImtKMDdjd7mMfNjyp9ddkdw7jSg90e/ZH5wFGnVavg53LpfYU33GVZfij5ZY6xa7hVuA2ri7ZeUC2XByZpsfuRKpDfUVdv61Ayh+gCWJUJWAVHOpfH+j1GoLR5pxMu58UF2VuPbStsTQ5N1BShHJpyhFZAh5DWc4w+LteWUHoGKS8U3tKSOinQfY8cSvTWZbI6fP8Ac7m3HiciIcSehmCC2lqrz8wu6LlqDXWldH0v2scXKD| && + |23+2/j87hBjDcArM4ItesUKMtLF8MU22wy+WDal+ZmBv7SPOs+CZShf0+V9tMN40psWFk3bRQv3QS8AcVtV2q5uvaFZa59N5TaF2+eiZh1JR5ly4lpoVWbeWh94vgaMj2RqBRmzWfIcDnmo8Kbry1n+yE2BQGA+uWhexhzK4SOiVX9dSwOMUNilIG92AWpAQE0kBFjau2nJOem2yHXrMNhZewiYUw6YTXcpWVeQaL/ANR3t1QTnC+ixV| && + |ZsMtVYg7+b9ZfxYrYN6PvXrNn/APg/aX8juU34iicG9JQfxmohAobr7Bzi4vozRSLwErDhWTmMxLWKI4dqveuJamYVLw4fF+8FHZWfPdh7XL03Id1/9RuFHSZv2/3Fn2Kuza5sO4nb54Dz28Ht8Q4rRBrfZ80YhB+im0ymb1DXOYubI0LWBy/Bp3C9lpIJlkwMOLyxLPb7Xa2re96eYKYeRSDeas1nPDtRVLQwxbggLFAU8K0Y8QEIy9| && + |p8mhzL93pYhqY3ARrIvWvRxmJl0CttMIGY3Xri6PoEALBsLpr2Vz1zLLc2BuvBb63djcvRajk/XK45C0usF5iPhPNED7t50fJA3vozZNI5c6vBnoVCBfAJnJ5F0brUM5Cxy/qd1MeB6LfC3t5JZhtCIrpY+7NFUE444Jj19oxdDBQHmyj6RKOQUe6D8nnXI9T1dz63LhwpJC94XJu97hyrtHCdruPZJgeL9wG7whrDRagFBZe3VpoT5q| && + |KaQoc8I/vbQRdBS81hx4AD2hpzwIZ/b2lgnXj1fSBa+a9d6gSwoHxK/aXeaByOacXiaGD5CIPhE3xmZStMwed/3fBDACrKFZi+iha6hTbNZPPKfmvbQroe7zj198gQeG4prPJFuvdGQCHQM0L5BYzr2LEfDUsp7iksrZ5Y8v8AV5CVhgAKX2rzOeNF1PO3A84caujMFQRZNtm2h8B5+rsb0OjK+XIHm3FSt8QOAgxcvVEi79ojfUX4we| && + |p6YxDBAUAoCDSvQUfS2qv67qrCMv5H93mEYoHk8HzBOoI+iUUZgMwvAG1LPHdHxGfnQ/Eo6p7ttr0U3DeDsNJEXA4L1j5jiodgc8sV4MmM5iWGkVHXLxkw9kDmrvF6ZzDq4mB8s51l195sEhVf33l+FHZCxzNah0hcO5j0lK1g9l9DKXd0NJRXqVXiYZa0GohTbnF95lBaYBUw1QuzCmHe84uMpUuWG25sA9AjeizeQEzN5c2y+OOcN1| && + |m4SA3W0+HqdPmrC4BpOgiVbHrR4+tDOssu2cKVd09ZelZmGkWEZKWMNlQVUBVYLauvG4fsASpExR95d+gAVVgWlZxMYG7Bpm19y+mPKFUkptZSqVosSai0mg9EL4cen95nNd6HZPHmWCfkGeLM3fn98pR9LNzYzb7gP5TGN24NGL/b4JW2HEUWtr9+TzAv4SoD3b+0CC+R5etl/E05mbDHgrj3ZeXhxW/BM7bstXGPTPd6cNzWMvNNfb| && + |+/vMe9RPtCdmpm381WIDfOG2WojFYsOfKuvXzMP2fyFW3kAr9ksUrGnzKLPV1PwV/eyqA0pw5XBUxuuRoMPNdG71FAsqKLvBBiYKN4Xhp07pdJdMzVbFYAPQrNrZCF1Hb9DwtaKAlFBBbX3BfR7talF8y6XmP0DlqUUi2DCMPjYWJVg65HyXiyNd3TBnVH0JQjSTa/plhzd6IMywnNDuaMYKMR7vLCfQ1hjOuJQGQx/THx92mYtQnUtU| && + |0+YiShesn4tfaYk10drc+Rn6H95jqwJWVPzCkO1tLW8basgwLF7i65+0sht9iH2CcXlC0euP571uh48AzTq+/9bq4Rb7Fb35xN0Hx37foVBxeT/wAl1L9yLPUmdgmoEFBhNcP/AKjyuBxaCMYJ5pfzOCPfkDnhbDHiLB4RS6nGPqb4i/3zMoNg2ULmg/KFyR5FKkFOhk3vUI2Oqj1QV7Pz9ajSJTSGu0b9u4TMCgFAfS4QfoVanBFjC9| && + |5tRHpkfZGiMHDW/wB4aQQsTSfoCZrNu1ZPJWvXxCeikORhjcKGDI5uZUdhfJ36/OctiITawAp2+bVf2ZstnEbxY/JWNvdA8ZYvMqMGm2QEFAu8yjQU2u66QKVv3rEADiOTqlTikdlmSWkIC7pJwDwvP6FcjGA+g6z9kTutJVtzjjfxNftlGHDUs7At4a8YqWHoUVUdYKyylwMZ1nnfHcrJ0XOuX1wm3ZDx+zIk2GacqaUTfLHK+sAAx0| && + |XeRjnR6m4KB19XIZyFnOb021RnzBGVzTv/AB4l/W/otDSJ0QYABCwqmX2RmrGyIgsgaWC12DvxmO/rgu1zqxx5iI60AoJr26iu5knKne2GveqgF2xEchttBf5haKS/orH8wrqe+jX7Tn4VcMvSFPamVNKoYyXvAGkypf0goeokN+nQ99y1nmVjBaZ5Z/l89R1wAfoyegjJdBvcOgrLFwdVq9e0ZEGujK0H7PiVprljH2OHn53D18S++p| && + |xH6woDS0zNcQENl0KukVe8ZxAEBfRt1+xCoIK8C99ITSyuvZ+WO3KM+n/v6LwT5CAlHcLrkfeBQCrXL+mt7och5nIOdy+Dkl4i2pbGRoywyLoUYQi5hZza2TkbX8pa7+pENtkO79R+ONcQNKk5VjbIMXh37PzRzObiAb8syD2b0fxF2yQ3VqOvwSaCoe5YPDlzKhUh9k1NMVoDLhcsjAUKNmGJ6n1gvJAFkQ6Bo4FfdEd2bY53S8uQSu| && + |YCtRXgpT7xUVxFKvXH2GHBeoLP2iGrPP8AtKC2tBl/M4FmirY69qBM1n+N+JjABSJuA7Qa8lXHx+POHdpj0AAPhjB+XxKCuXxDNBhTDVdjRpyKYPpGOkya+1gmzfw5Vx4xZxdcYA7LDLUeO1VqyZ6IlsyGoOx8ef8AYS33RZuX+CC1UaGKcP2x/T9VQpZPWIhQ1hrUzudHsx7wLuXILVdDgeH7ZJXR9UHnKC6t4PoLHMszHyDGVVyYd2| && + |daR0u8t1x8QtasbDBz/faDGABW0h933j2qRpM2gL+YmKI8AH8Onwso7ZndHn0pNYTBL60IW5MPTg8zlYAtnBpzjveDDmOdxW89P98mJSQ3p1zYAt68GKjIRmkZj6MdhhZ3G7hyiLq7l4exiN4DFD21KtwxzDqGwM4uQ5t4MZrrM34WaeJlQYtUu6K1g2tehlj2sOSOVslVVPfl9YCnIuAp6Bfy46+hNh33u/JgPyjmYA8ytLj+tQLGsD| && + |WLP8ZjfTaq5sNrBx3Lv0qupdOVPDmCoHwpud5Kxp0R1donqOw32lQKFaxt9r+jMGnH+Th+6W4sFd/Te9xuBAp0iNHqQMCUEBVpEswgNXbh9twneAFxYlPGnsy0V+qLt9u649rhfakMxJpcVRk0wbOT2/vHMUFD269oLZFVZRpq8XhzGjlVN45evBvzAViqDyS9GE84tb0XTyjxO2eYXkjW1XpZTppFrZkT3bFlSZSsMpau2Ap7M2ddBK| && + |SJLEa3eKbhCszlW6Xor0Ikke2o8l4/MampQqR97fvUr7zVqCQuOFvhuVcAKFUXeTA1m9Xrceygh0qco9U92FGAQhBoDsK/cZUgFfKIuFbcGb4KrNhwS24wRCbC7VmjQ8Fte7tVK5yKoqlZ9RX63WlSKr7794TY3Kwz6QG0xZlmAjq2bfTNVzANBT6oX5icIeCvzLFLYtWqku7rUBzO0W8m6uvceDT2iZrUgCAyVSX1MZhpXAHl4111L1| && + |9eAE04vP2uFOIurGFFoulaxORCrBBmlqDrTXaMqfPmHNqlpp8fnMRu3uLU5bPkb5KIsNgagaS77j7R3TF3p7MF794Ii90A8MSyocRAzGw6V3RHw3x6U+SGVWNPewt0q0ccsfTCdowHmIjgOEeYAFbkMjGN5A+0TXQF2X5fCAbWUhlY/YS1UUNPbatr7vrCKCOysSlVxGkolLox+g3LJQSwy8vCWryS9WP2I+BhxKGX1hS14gNiTcGPyj| && + |ECAFVbl3+zDKcADS6xz9j4lp75qror6jITHa5Ss+i/W+aaZPBZv4gPgQVa0cyt19LoHDdHzHieCIByGzs45PQuVkdW7L8l3s41NDPgeHh8cnvXWiip9UGqhxTSCzrnf8REpk28Pf8AM3erVdxqmVao+wQvF7o8S2cOnvkK+27OSiaU0Guof3vUtBTDbeXEbVl1Vq6t1dW+ZYtWWLautgPRgCYsqLYB9LpYUXLnIfQkg21A5VhhkfBmDL| && + |ghIV9OZRmWii6zWnTUvVq3Kn2qiR9I7XgAKNQweU5IJcIoiFNIgtgkFfQsTOZDyrxuKNVe6y+UPFr+i/VbWgVBnxLu4EWXHSaSQejLcYblhzCrcAxpULTLdscTCRCmQd/g+I/xeAY+ZZbTvuvD/P71YZqnOSo8J3dBMNvU8i7rmO1Q3a/jsmUFX8ePSFGW60uK/ZXMS4dA0wy7jxgDp61x43klbZSK/wCn7QwgUabGuYhTOzbmFe1X/a| && + |YRRWjz/EdfuIMGPmDT6ODybeVCCOI4+AMzBa8GNtF0tuok0rWvBjl8r+2LLgUMiAXVSGd4wYpuqlnJSKCH6Avau6v7Fw/AubdjCCgw7igvaPRd/TN4l5uUbICK6gaqG7YmEtFLalL4A/pXOImlHIN/Pye49Q5nFh/GviAKysFOK/iULxCqbejN8uKJSqtUAm9VHdagjH5+lTN6MZLbbDD6wFvs1/5j0gWWtj1M+w/TeQN+wrhlp7hgr2| && + |5+08pjcPBfLa6feNcOrhZRUTdoZcmG6Vc0anZuWtIlKMKLz9pewipBZhRxiZUMUEMXx7tfD3WDvDXkdnzKhd5YVtWVfPtiiFZOGoC+kNbq4FlUMDWLOd3hu9zf0EttBz81wrXEugoKmXsjm4zFsefoYDSUmKSCbD4lvj6LlifBziAI71XoQIMcNyLantVf0tJrHB6babBooxriZ2AdXrKplSGDiX6SKWRsQm6jz3GA+sEm2XAjl5wbYF| && + |Ra9phEl7Yo261iOUsE0ItaRxPWVbOyBOrjGtzXSquBuj7fFRZ+nAy0OIyIXi+5gV20Xw20UeOfSxoOAhQREDRw0+nT/fQFDGrOSuXPMG0FdJ+fJ/djDvIW2U1URTklfhAtLEQBnymEyF8/gy5qDQ0FQo9DZ8W4g0oWnIcuemrZeh4vXsNPrxxXpdspMd1amPXJrzHCyELyMvFRbgbkJdLKYfTmFNQKPopRghsfoI2XKJj7729oCUY19R| && + |teX5dQOQDKFW/qN8SejhM/3MukrEL3X4M34XUaZthk7HyNkBJFhLeoPJfulqpctnsfKVDCGlUZldnVoy67QH45CnrEtEdj5+g2uyeQY6/ZLHBNUuFIK9iKeAw+z2yrcRJiPaZ3LPAihsajFwFT1xmurgd6OxGIgi6X2Vxz48xWBxzodRPIVYb6n7e1JhlL3O7yGzl9qca1Td89gC06Wd/ZAbvb1Gd+pye/djYo5ybPZbY+5hKKGXsGhv| && + |k/1plNmgqM0kUrlDetVM1nWosMnnnYpjPoesThfcrz2OfTvcM6RIAspWX5JdvbD7yYp3wmB4x92DvQKSxwNMw0GQJLsvasLBnDR+u6sUkHpUP977ELPbR2X5JSq1dVrs/A+7Gfo5vDGTgemJr33bt3CCA73LOTsgDUyUq6U9/f2lHBBwwiu/ouIC8QTKSnuGycF1/g/vcSwGoIqZgL3Fz9GT6OmY+7HmaNxKtYplq+qZqCioed/wAspI| && + |nDHZIC7e5tZ9gR/aJNetxBjvFq42mfRyBqisfH0N2t7ll5/Y1gslE7kQjBu/HuphEd2Uv3eB+eIAy6GkXryx998xXzwO/Hsf4bVNFuX9z+4pAX5fzo/u/W5bca/wBuE7l1TE3Ds6/rFMs2GCOW6Xq35ZRcDwGV+TWWXTMsIHDFS7AgJ71RBQkwBbU1/aYrDG1ncZS48dKUeYueU4NUv8JBcIQFW/o4HMyY1wRsxbpxOQlk2pjRmUJ2xB| && + |FLLFs7ySMJl8+X+5wW+MS7yxZ6VXpv9G0B/wAfIYf9hjs/DTCygMuj8HjZnc5aEPVbYetU5wYYIsHL3CLHsXfrE7DupVxRqlcY8Vy+fpujiPc+/wBKXlAaYXqUXTF1Qk19eV1+Bbg7bjdbqaTrLmsuOOsxreIpibfS+UwHEUllTlna/tFnkzOkZpCDRFlwKgmb95p3NRxMlBCrm6kOvEvXa00Ckdii/SIOQaRR9RPmbI8LcAGfj/gOgA| && + |NYHYk/3MqsB9pVRC3G+DrxqJURvAvGb/eBUTkE+V/Hl7+ioiApjcuKPFcDoioqoeTuO2YYwYuVV0ysM/Aup84LthWvMW2ZxMxwS7lW/Q5g1Kv3zIgD8wRWHRA4s4fTKxe5KvdS6wAXot47/wCOlmYFXFj4S3ywonquT+tRu4U5mks6Y4vMpqV4KhM/mcCVQ3CrUKMymkBcaqZqDBPvJviQsHcVltrLe/3kD5JmtpsTqABRgP8Akh3UNj| && + |U336/yytFTwlX9GxywaXdWh95iziCo44Jdy8wDARNx/KZLqcpwTNNIZTGZW7jLUEKomRUULKNXzY+8IhBoQDnhdu3/ADBA2FJ4hqC5trxRx6GX6m0emd76DV5ZTsmKVUl1EhawOScxM/RibgLsxSjW11KtQAvtLhkJonSBt7ouJ0Du1P6+sGoAMG67/wCfYeOBWler/RKsXxNj+Az+GyUHpx2CZPZ8PEDLCVywLE40bECOZTUJoOpToQ| && + |P9p0MpU5qgyJ1KA2UqmACndLXacALjZc6/6H0nCn+IVldsV3UKqFS1V74+6c8lTkAlWtPT0+JjyWVdGLy6ILBuHUhIVjiGvrcUsDzDVFIEXLD8nUztAPm3l7FvtMsrwar/AKNBKSyBBrWDoFwwYbIpIhGXWrRXWvEGHu58D31eISIhYjYwRGizBvcRuoCp9WG6i4DB8q9cJyQiFl+KbejzzxGJLYtDFjgauLa1bA9Ojx/0qWUzLoDGHu| && + |fxFULypP2hNzEkjHa34ROoxZSxJd2LDxkBhrYLYra9Ba+YvBGafqc8vHBbPRxvHqbILNaiwhuFG0l7whR734mj27WPVMV4N90pEeqcdry/t7/9dbnqtPXiN1vLVXFILWuvkWbwoYWJRAaX/qbuTDhmABRg/wDzp//aAAwDAQACAAMAAAAQ88888888884ARDDrK8888888888888888880l3isemBc88888888888888YEoHAl0dmE+D| && + |8888d8888888PB1yRAXh1lwOj888Z88888888ar7wfQUk2OHdPc8HEK8888884knBHIEl6AFnQYIbS5l8888888bRBVmcz7gIxM0BJYrDAh/kZHim5zdpaN98q/wBvMMOMD+NfBn8fZHBL+BHCY74KX+/A/wCSfhpE/JaV7lpSiMuvrihglLLaLDV0o5LutM4RowRmdqbpx7redMzsyb8KNWDawmdLc4Ae96L14MmXi4iMOgLJZUPBiI| && + |9OCrJIWKKUm4x5ZdfAYe4/oL7TN3JpzazTyFNiWYhI5qLuWm8fBJ8PLy/Hzxn5b7qnEafoBe+cpoqTPsOHzzxZJGasV+jjUqgyB+r57yzzzzzzzzxqFIAobBOXJbhGmLzzzzzzzzzzzDf3w4J9lpNrunzzzzzzzzzzzzzxjfSdgwQhb3zzzzzzzzzzzzzzzzwB8VbPPfXzzzzzzzzzzzzzzzzzzzzzHDzzzzzzzzzzzzzzzzzzzzzzzz| && + |zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz/8QAKhEBAAICAAQFBAMBAQAAAAAAAQARITEQQVFhMIGR4fBxobHRIEDBYPH/2gAIAQMBAT8Q8PsRChEF7QbDPUVZ/pu6IihDOs3E7DLuVLEDOqF1llsyoSvHqIqB9TKtuoEYDMOswspO3rK24RW38bjejwCrzAZNQfKWNRhjRglSy50JtMxQtJjDH8| && + |MgOJTz4DCOcJrb1YATcqb3KJzonSJMEcN661GscKYhvN+8214GUKmJiEscpcbjA/aoUcjv2lh1QHLWr6sAwXByRBdxhTGY0dY4xru79OUAm1fBbN4IfGEq1LLjiIXhAxOEBhEjiN1/H1i9pfQgfVE5RKaM5+coBrbro8vadAfT9somfV395glFsRElyNMMFbuGBKvrKDUVBwfs/Tv2nLS5V6oKMxJykabJqEUyhCcQFD/YkrtyZf5MwU| && + |MZhb5zVqjCxDB6f5Fdq+1SkrA7YjZUIF2ixmC20jls1BRjitLfrGLjwqqIGMEx3CpeMwG6ZhMhakpC61wCKPtNcAohH8nzv34OSDTAWouKnnJelyiWDDUE2lsGCAc4lBLUyztByztBLcIcRzgGbeFSuk0z581CynThpVBMGoGkzbamF6GGYuiIJFrMSEAdkolBiIYO8RE3wMkQYm4sMRQJy9oBOCopg5bjSiok7thlGBYdxsvw/wDIiY| && + |R9SWTN+pMjHy5ecbSNdsXpiAOo84AuAUjJtceQfm+AC2W0PK/KBIRQz1OfDUGJSI5wcGWvRqDoh9RGMtToOO8EajQqUS8vKUaqWo8OcYuRlt9OsWUxfSJdcBpfbGHUpxLhTLBg1HOZ+JbuAMTU7lxlL2IrolLkcqnNYgBjibg5x+4q5eDRPclkdh8/MBxo+3twzwyi0xiG4nSJ1ItAjURxAhBh5KwirF07+/AZZUzsY6y94gu2HwY79m| && + |mHZDKBMnzl78EZUsJfBZS41qU5yy5lKplhAxTrnXo7ju7Okpry6cyX6Prj9zAL/AgDoaf3LNGj6MAc7ZAIlwCM1wM7hKlQOAxigC1+EfOV9ayteGQKWQYHXbjWMSgmpcuEGPEY+3tCvvL82+IrcA1lAbVxcS5ympngGITCfT8xH8craqUy57/uZqAtg3XCuFRBtVCAcsYx1f6VoI0uCfPODMFsCOPnfrzgxY4ifu+pMrFRV3/WAwMshn| && + |/l/wD/xAAqEQEAAgECBAYDAQEBAQAAAAABABEhMUFRYXHwEIGRobHBMNHx4SBAYP/aAAgBAgEBPxD8Yhd8obbgwr5IIXCDJHSHiP8A41KYlo7RXmmAzM4AadfSPQ5QTbBK1oOf+RgJbazfzAGPzgdJROsbcxFJliNmGWI4mCIFYqDgs7N1UE5V+dJfWuv+cQLVo/A0Saw1eH0P3Ni36/P9iO2IYXLI9xHGoIaliK+cOwohsa9f+ClVXT| && + |GPWWKLNLzX1fOr/ASGxcYNAdg7tj0S0vUoFkqXUslVLnMZLzmYMTClepxPrusQKJXgK8MYD8mhfevlEv8ABv8AHe8CjhB7y8LTz3leiNR8x775xB3Dh+nv7hqnHDfpyg54jXAN1+pkIQpYji4dou+9XTn+5b1r4RfdwH3wIhnfJp5u/lAygBMHfzKfgu0FuiWQLx/sA/v/AHENHLFleV/kWcwyDwEFG6Pnrxg45R1t+OHvFZnNlYmCNO| && + |jVXMRXnAdq0YM/1jNI8NXz4vVmAVc/0fuWPDQDTXXBy485YQbQX09ZoTKys1s66VLyA4xc1jYy+hKRbxyY68POPDM0xT1cTgnnUOpGvS+PkaHrmyKi+CtNNM6Y9JndoVq2nfFS7Es2hkqKZjW4tjmWa9w0YUDrvvf3Kayt9O84hKdDL3xi9CvPPzAaoUYDGM+7Mq71fADWGMm3PLbw266DZRm7Gn4fbpxtmAqBbN16RUzPOteZSHTaIU| && + |AcLWn1iGH38Rbd31jNyV3UQLhI07w4ECYzylTVlU9eP09I3cRWxNqYhQYl2nMDWjQcId7u/SGsBKW8Vx9fAlpRrgq+fU0/sqVAYsExMkZO2H6PBAF0iY2rfXp075uLX7/3vE7NqHIFW+JmjS33ho2JpQU4v6YsCW8va4QfUTDVa6QzRLyd/uG9KuFOj3rBTcYfPeUodYWg1c8tLg4hb8RHoGY+pRbR1+3dly4ZiEi8p0MJ9xSGj32+BE| && + |6jB8/eIhpC4GsVC8vfMp0aypqWeUoYJsk7eUEu54CwMQLBqH3q6QGjrEWzR7P6gHQz8Yq/7AxGBtqs3aBQ6ptH6Wu/gBcwuEkdedbOefQ4xB1HwRDj9f2KOssRX1O8d6xQnOIc/wAe/iHjpiKbVxJpl6eZp/sXheAoe9noRyWj0f1L9I3wsaAvV38tjzhp4tf3129ZX9TGOp9jH3FcetY4aabw8GLe/WMEFIgMmd105ge3huOmGgvqvp| && + |EikNImeEe7NlHQxr884QjFB0gER6d33wgVGp7/ANxXnKzQ6J8S2AZibDD4hvt997RHE5SmbHfesLLqXRpRuw2Nlf58SwS6zcYxMCUGYoVM6DHlnzeUDDoUX3rzh4jWAuiPQV8m694mNCbJs949oIwnx3w/sQvaKAc7Qvl1gPQ3F5/ao7e29yoNTlEOdYBtZgDSEdHONtJUNpAqy1jPMwxCaCvBKT5YGjwCnOaNVhx7YZSX3sKJnHKuEX| && + |o7XStHz1F5nnBpR4uXJYpt/IITAXKOXbpAVlGceesv2pcySEFLfTzmKBbXvnDYWrE4Ot9KrznBl3WXZKAOSsb06Uaryrcb4HS1R33x8VWLXb26zYhqPfDRjvmUxEaEQusJWuv+TYeNbLr03iSlPgNShu4OiiXVNdnT1gjYr/NJsTV8U+utf7LwNewSqvemUkVxH3xloqGruztjUKxv8rBt5vV6ae0RQLdWsv8Aw7UW9fsc5WUJ6nls8d| && + |ma8g0e+EZYOnt1OUFHJ6ezn0lVFqGiR2JwPiBB4WRKYljCiJBQV6b97Q7iGzYaAviG/wB34I1fhorKYeENFQdbM8+MsVBOIqWossZYlQLgUzJMG5YzLJsy6v6Q2VB+QChc1NuG3fn5S2KaNOKJWJR1mCU1mo8AoWrxTqF/qAQOu2d9PzkUWSnq+lVZ5NfMTNDv085VLA5LgKxKlmJpUeBuBwFGTngc6z0+/wDxOFLiFdLPJHZ/lVBOAv| && + |U8jF+cSoRxKvo5H1GBbVmpWYQpxzH2z6PnNeQuuIae+a0gNB/5l1TKVe/rrCuIf/L/AP/EACsQAQEAAwACAgECBgMBAQEAAAERACExQVFhcYEQkSAwUKGx8EDB0eHxgP/aAAgBAQABPxD/AJH4/R/U5+jn1/R1hXEfwF45oSvnq+riwAdXAZFIBs1rKy3y+fOHTxUdr/bBfUQikBpE4ncsinSeP9MKk/SNmWKevmT/APTCvsQvUhgmhc| && + |f6K4wSsDuRSYKufTg6nekytMdZbUQMUk93lIiGkT1msU6featvqO56+stDMCKzWeINzwTeLuKME2AeL6InqTBzqhZmwWxvVIDxjinVABTaKg8/TyythmQXlV0GJZo1lUSAKKoNCIojmkwi8CCfS79nvJQQUzFBPNwdX+hjde5GWHpEbTWOiBXOQtVkZoUWIYAKybiFhNCdP23hKyir6JFY9t/AFBnO29HAGbaeXBoUE9UT6bmiwUlpCn| && + |uKA3s1G6KQGgSTDzoNjcl4JGUNhRgFVa25O0cFPAONOfWcTCoLYdkNhPTpLiCY2jJqjZgKHBPBnv8ASHeRzHJKFd52HnpXs0kfvK/w8gAKz/fOGneoeP8AnT9NYNrpgBVroA2rrWRIrGommNodAo7ozXtSqnBWFhFQNGwX+6G5xVrIpFaJ3kCFHu8H134cK/vcq6dyVHU3M2u7jrk4iqD8b0TwT++aNgb+MA4RChRKhHYP2Y11hGt4R4| && + |xGIlbQEuBNurpwmS/bmnTUChNpfJhLLQG1p4xCLuxjPDn4x/lACVIQodf7n7n/AAUYJ8QuX5weqBsTT/u8bbVb0E2tahqaEddhcAAZYolBRGCxwUL0hlcLvBq0/wAYty7xsnmJ84bxn25jNxrv1iSUjrJGypCMXG6UWp4wAoH/AEwE/L1wjOk/tnsDhmzy8NifIAXgG6qAirTQwklzxyFXrV9VJfbiJNFlw/kut+sawcd0pXQEUugrr+| && + |fNYrSAq4EUpB2T9+5NuAlsylL0UrKPWA9MLy0IcMZa9BcH4O3i+UD4L64I28AvxR1+8jKjEJO4BaZI6ZJ10zb5GdIUzYG+JhqeHWJLUlHBGgenH2/gYA3rHhp7ca3dzxyCev8As9jpNImVi4EMqSSnV2lZ2ShECjYEriSOeNfxv1jB0lxny/484bXHb37OFjpWpHgPU24dOFtZBQ7Agfz1aRbLy4PZ69ppUApEgKwDEdoe6qhdEeBFKS| && + |9JtMJoW166kMV9tvbiFtLmnmA6T+cS/wB2QFL5MUjH4zcinl8YLwnUzQhq7Mra1/jFTrfgxSR63gRIC8+XHXA6zlvHcLdk3XnGkIb1W37yVAlixRNZiLTTzAjDVCoOtFmUhBGwSAmyMMvmWfY/xo5wneRuRdOWhEDAacie2WTbwR8YhkVyNo6T+eodcesDgA6GfVq3ruAS+pRLRp1UXmrkQE8XSiAKKWFTTWIMRzeVe/I9wj8YHrFrYM| && + |/9M1g9WvB/1kxbzZhmwxN9mNAtXZ794IGhtfLjkSZsXmKjV/OCok8vnHAYO/vAlOg5hiPF0HnAp6c5jsc+nMVegdVhizKay77GUoC3CTDU+gFaCxDnlt9E84fH8KXgsJNpLIABuvgY4lDFXzQSCQwTBaT2eMhML5ZSt/nmccGeIJWpFJRfePA6qhZUpAQRHaEDEwjXRAAEvtNhh4ZS4zpPxlxu5DH2TEM1O4UNJuHkxEdmkxjSq49ZKb| && + |qbmKOKPJ/vcuk+9f73GU6u8gg7Z+2O+g2+8frPjJ21vCIEDrN+UsyaT3HnIFUcHlwcoKV+MTWTvr6wr5JLUFAIUcFDZBbNAk9GKqsikqVVVzYlBR28fwc6pvJI+AFx2HQQX0CCwupSc1On1UgwFXrVWvVs6BIBZp3jUXNQpQaCnfmfjx3mLeCgPg/n8wArkQm4a2QBQtBwKLchpBcaoTwMRKNPTQAjZUuXUX2Dl8BIhTiacip/+oMkFt| && + |pJjoSXjwnvNSdM6wgHu4RS0tEH57MWFgD0o07CoJvDV89Np0iZLw2LrL1GpKcWSrvlducNq/3/APmQ5YjZZC4MoVOjGcNIE03RpTms6tAZl3WuHy5OlfM/xjPMF6dYzAOPrVbTy/GAgQcBtzduzSgej/fGdEAQIRdlCyWh4KskkAVJvoeHX3MWlx5y5eXwMwvsbhUClFzRX6WSGniShOPOxNGol9KXlRbF1KYvlqKvAMKhHcIAzSNxx1| && + |XadzoAEAMjoDP7ZCCw/nKAqwMVxGtDhRu4iLeS/wBKAQ7hKIqq2iiyKX+zDwDQfa1JXVepMTKqaTrC0s2r8YWOg0Md+vOGctjciIeUs+zNi/wh7V8SbU5gVw0s+y4NKQeOpeQcqw2WPmihGjFT+sFOhFaDmKHu514PuqMUoOhsQstHOhKoYlWYKjO2meYZQVEGjSgIjaFMn61Ra1IE2UXETSQSQouol1FDNY1lZoJsxbV3+gVBtQ/7yI| && + |Ww18sYsV8DkSh5nuVb791wLIpoV2uAah43MHb5GSoAEmwKeEilbtoSiQCeygojC5GmwbDy76yO2JEm0OmNCECjaCNIiHibSaBLKJHAQgUiahhjpqhdEXH8Md0ll6pUUoMxqQQbtiwYMgchEabK4I6mj0S2iWAkBUAkqb/GBFF/nPMLVSs3sruRQmUY1vjgmGmNkqMayqIFFQ1rVKtbVxSs2SwI8Hyy8ccAv8TL5lU+wywj4SW3UtiHkV| && + |aMbcjECALxR+XlC2EnefT2aN66eT4+MM6aIt0KNR+TfzlEGQOmgXVNwXVZm3UCIoeUdZp/S3SYYUlLVeH3hs4jtL4pSnUWXDmqV4BUBkIKlfNdoB+7I50PrBQRb7SlQxdmrKuFtnqiiPaugcfdPz2Be1QUEQiF+MTxeY7E0HhJQ6Ku0VrSykniwtk8sDTCZAyHyNpqTBqntFmUjvILZjYNcqI8I7hA83g5Wn2360dYeHSezJ/XE7ognQ| && + |qtn9sOhhvlKABIyaWzggdCGwUBHFEJg2uP+y6qK75VW2FYGPWRUlCmg0HEYUeHBiEAQvRpsmXCKZGCGg05rmna4xLe4IN7dVUaIBYKOvPMAFjyuj+cIk3WJsKCWLCyNFEMQU3mjTSIUAmxCqIUkgDQAABzDAK6wiUeXernMS2KQW3dBS1Bi4BoCrdgNgCqeAV5jEpWqIIQVDaSHTrmOdk4xg00AaPO+NFGPxlMv9xX5ucMG1cFxI2thH| && + |QVAwnGjqg6bhAEdCbIbNjjecWP4wPFxW5vCuI8TCPC4x8zoCrm0tETbJ31MaIvo/FkT558/jCDjO8FKbdYJA0ZYvIQI9uAAXbBoYKKk0awc1j1wzZgfEIg+wKF4XCSuMAro9A6ZMA1V4bFFkEa4aAIQ4XG45gYkSpJVm14StALAW84Wwf2hu1UKtiak68DO+8RtyJm+qBgENjUUoVAU5ECpjN6UIkjrL5IqCgsNCgsFrb7/wB+sfVFW5| && + |45nj9d4TL4z2s/Q+MWbUDC7y4jTBbhCjNXaTlF14rh8nCjiiti2bZNNw28iEWIKdDQVfGaWCjcUNPkjhWAKttREQDTaAkGbY1NEqkTcBtpalIVuARI2IKhzVIIXWHAgxnSiij5M0WDFJ0J6mzFAgXOFFsBp48nvIyUFrD0AXQuEoFk2xSJAlGjYN0oCgxA8tAeNqgx2WNKASvP0uhwXG4UPGDY/bOt6wmhRFSp/wCYWz8F5N6X/fObMb| && + |Utnwue5uVmWBew/YxxCpsoBIIFERRTwYxbUCyS99mFpXaCOEFZjGlKX1pHfvDuxzte4k+02gbQZC46YBhm6qwUDGHAsGrsUPdGqrTHvWzpgTtUc1oAADDOjDCfMg/D6yepA2bsleNx3AhPJjeJSUVtLhC6RwIBNQ1NZrATcJACABwDx+uvLiw7TrXQ7rHguCnXwLp9jXpzjjRmUEIaUIgWG2CoET2OQ6Z9U0G9aTe+4xhNX6chOVR3qM| && + |9iCJABE+F8fOrkjYVePTr9/SYobbD0SUQC9ukY6raKBLRN5ND5cWOd8eQhfsGxAMxcFsa010IocdvXZGsuW61i0TdNDpDn5FaqCDcBiIhwPcZAFYAjEINF5gi0rpuSTcsVHW3piGkWCW2foLs8wFUqljumgaFJF1RbxokBD4DuQQlAtdMIbKoU2W+MN4kgskIkGWr7843hZ0kwGUy7Pyy9UhqktWhLoKb3tzSiQgCaTZA61b6KglEGw0| && + |CYb0tBU8Z7GFY4bkz/AFG8vnEemz5cE1r095LFjJ2nNQvBOpBSc8N6oiHYfAi1xkrFwzsaTISimLhRHeq0IQ2uiCjgihUojTFAaVTE24FQrHrLhT2RNAbsixx3cbcOwzb0PFPnw4HIywSczXAOoUU3et+snCbOU7CJ5fnHBcXUKw5RFPHKBKmDz6N0SoPuqagbDlho5DziYNJG/vjzAVmPoJBW4UkU/QQ7MqVi4wSPANt5RaggiopbTB| && + |2vZO4VXqnYSReqhAFDQrOBGL0aiEltOmMm3Uz2a36lQa6MUoDDIKbDfATBYXT4XYGo7Fg9TKvnA3njY7Q21Tmk4ZSKPEiNtNCQkDmEViSh9v3C5zACWoAZEWBfD0wtcw1moFc+N0jvAwOJAmQJCBKoRWtr3JU1EN2IjgFB3EXUCxCF6qoAKIRovzfyBNDQLBQLVVJWHeoRRbwum0pudbenGqMSkrFLDyHkx4oA2kDoDQfO3lXC4o4mzc| && + |/uv9cqD90JNLNSUCu24+XiiOgCIJAjsJhjCe5OgDj00EqkCRG8PBjaCsL4rPbgPHKOAU9mbYJ4yS/s4RDXHBsr59YiqQgSjZdkfCmazLXqFgnbujmzCopAfTMJuIyLiExWqkkJaPbRJAwZPxJIEgdIjvD72VIn3hTCzbKmBTOw0AkaK8HLDxgklo3J1QDINRXRTxeE/Ls2GmXYHyv0eYo3ziiEIeOHArZEwweAKATEE/OOB+2fMBDGpi| && + |rrDm0bm8knZQoghjdAveNBEADgHjKZshlWsDRty3znQc9XLh4yZMTGmrwblaO90QAotZmWKgWDiexwSAXziCXfgxztxSsDRh+4un0Q8eFrABVAUAxRWQD4QNdpUKCAAMyGC4SlFtlsBGDshmUqooj5ExBmimzaziLp101emQoORo0bsgrQotARimgDEHTHLJORkOLqpdjPk7cq+djr+2+ksPfrBxRgHqK6MI6C+QKJCChgravTQCvge8| && + |yiSvZxxAeXLPg49sJSl3cmIAo9YdV6M8JGCHWWvg6/BoXWBDTgbha8Mk6pWu8CXh0nneHNhiMCZjuYCNihKbPcWiXTaK+fJpzYaFCg+EKwEjerHKDSI+THWIuqgD7FSqXgfFv7yalCBYgUDBC76EK4FFTcA40O03JoFNQAgEUVi8Rf0ssJdiiOo1Ca0GC/PnfX3kSI+DANnXEBfdwGeecHWWJgi2JlIrIMLCzW9YOJAZ4oLBPZ2shAln| && + |k/RcH++KraUAFR5+sT7KJ4NIci+FOsEXgKqAHVcQRkHW4iaT5xXQ7jwr3FFXphCAnylrvwCJk5ZpdwPs1Q8opqKoWMj4p9/b9sWrl81bsh8DxZuXLg7EZmDsVTdGDrHCLJTHVL3aXX0HVBDLtevGPuFDgfyaHzcHVSXDodov8AJHH5Pxk2XA61qB8ZZGsRuko6Ztq63FPlxYxbCHBigKgpYau5l+AB/kIqUTohASCJUsgQMegYD0azZE| && + |iuADQpk4rW2nfN8Z3KD+4BQ+XXzhFJFNmbdgarncsQLl8ESCFKbaTAAARRIog2dKBvtpS4AQa07PzzHzGNN2UE7VehLOmJ4YiFMfiujIoCzYHRMvpiq5hPm+sCSEh2GB+vL8Y4tfR2IIu4APDBtukIMTcdQgKEjdWScKL2+f0W4YgEVVdAG7hDLzLI2HSC6VVogHS+W8OwxUp4csfL3ATutZfqb3gzs64CInkRmCIZcUAWULsK8AsHG9| && + |TcCavUW/Pxg0uKWRRGI+8po1e4LMSKVaghWJU8sh5mPEQ2VU8BWFBIKFbDsIiADYOhCFC6O8D/AOSIvELvzWunWk4HjdyrAsCV2QzAoiTVaa/Bd8I7MhoLSyCD3x/vhF5OKycVVZZX1hF6BKQk0ER+RMbm+cM0cmxPZ7xeZ7k2wKJ0jWdoLM2XMArUNIUqyuj8YNt7eDwWJpggaCxmfnz6dGvJILNaHBRy74QgWoAWqoAK8x0lEEq06U| && + |RBUOwhUD+BjUKzFNPhV9e/8Oh6GDXVIc+LvXl3hoGIt5PPk+c6CQ7HgVh3gKqbXEPEdFTpOwSgXps2oCA0jVK6qLPtwx1ckTkrYEaIIfJippYKSISaS+HWvgwWCtb2Fi7DnDvujg1vqMyDfkBP7q/sZfJGuEFDwcA9HS2hjPSm1tiEavVmu5crjZg0VldpQgQtGDv4aCNAGgDxnCYwYp3KPdZ4PWMLtiNCfeSNO3hFnoPycLAcDsbTUN| && + |O7oTeApEtUFEfInnD9RLJGrdPsQvsPTGcJJlAonwmMoLDFK0BQHSI4w2ZsB127QWbqDwxgw+O4IILKWERVFCaQAbMBvAzbPPcYlgvLbsN4tkC0EHgHMBFSrWZi8CgzQxoIoQV3BoTjNawYQXd94YHcmA/u7hE3QnUGlKb5T7M83kzxEvnY4mXUU8T3P4GTDhARFJbS8EMtYOxqiY6lKVCslLpF2mjOCGlGyUH7PeHnqOa1dHgXzfvJU1| && + |6SX5UfpJlOneg3Pj4PR4MQWCDh3JWqQG2x84oxNZGZjyQL4H5yVwbm12NBG0JNpkP0hACKqLpUBCgKSYkhkoPxooQ2AJE+E/TdML7A4kKgUVVgi1CFCJth9s8DgNB8qtTFU/TTFri4UaUN5syhS9MJ2E7mII70+MtpiWh7dPhPCcTwiYj1+xULfIImhsBBM8mH6MWCPJdjZNx4+cMGwkEIAGgPWJGfNH/mOPl6wJ17RTVJS+BfOBPkcw| && + |IhIXB/kFiEqVddtBZbV1dejFLkG140+n9zDCMwnhJT8mb/AA1/AVdNNLLMTVDzDQw+H5y4GuPx84UOhcQLoXfAiqFcBv2nAe/+e0CKru1rSIFIoOv4l4/oUEHvb8HzkRkzc+fgx2dvYKaRTi26TrZmnP4Nhb+h/D1hpQSzIRvAUIGbAJciHUMNi6e4Lr04LRrztMNpxPqWDy+jKj0GFVTwF6cToxeuKhGRT7YFfAHjEMI0FKMntHy184| && + |EmPaiuR1fB+cV2mxkF1/vR/BD+4BaPhVrwOjCMqIwr8sh+xjl1o/tj+jqgSkqSH2dwU2GtuH1iYSvE6ZcgKVB0/Dr98BMiKCwO8wAD5LyZbUo6Umw0B9ZBdr85c3grhgQQggItEeugXOgqbQ+cJ3G+jBaa+0nwOgnSKRIcb7HeSqQVR0is/tP2x/DdBhrSFDSb8PmEzOg4kSkRilEcYafgCC3REDaszj5ZyeKBRSIiJTmEnZQUeYpQgH| && + |KoyyPDhcWdkDxu8UiheLKjBpCZpbRV4t87EUJr1qjWsjLM/eRtQfbz0Zmm7AEA21BuTyFTVEhQwg/Iof7ZvIQCD49cUx4CEnhQB9sMODKzybQ0UOWCyu7hAU75qiGCJNujyxDg45AmxPJmsOcqRAhqIUfDO4xaIG76mqgfESEIYpW8oRX0AFWmIufPRKh0igUh1DpGQ/s5AQkFRwelp7EwehkO0GsVcFSUBguVFoNdvbmn4qZa9GWBUo| && + |XpJBBsTBd4gH9G7F+Ty+mV1kbp9hiztshXhWtP0B+jsPj9POSUeYHeKIBQ/wAZvlQ2qmmefrNfVBShQJu4aVttyAQACML1zZqtFGVRs1P0hNsyz7ViJNArBVA+UyJ6DvbmyxThgbej1kJ3JoSiE6CfYdQTmqtC8kV84+t2Q0sUGukEVFDDDNplorRzSn2wDwRCQoeGi+smityiiWbgpEUlLcgIpxSGEFFIRKlGBr6D2AvSJKLX78qUJK| && + |kU6bADgVUeAFDB+nFIUsRooiIoWEHRgmBxAmcIgECrniCDxH14xSJgwS/ebWtLR/KZxg0s/IQr8Z5RGUT4DGNibsiunZGz2J8ORF7vDjoJIRTiNi72AfC17nnEgMgAwGqAW7BQBEcxHVNZ+4aV4DiBY2AEAGGtilEbDm2rmoKI1XhIhSG77AwTalSEB24ADr8t5f5mAmJN6ROPnEdgpkMHEKEFWvGMxr1McQAResbtjf1Y6TXqeWiiAM| && + |azgS1LtR0WBKG74em9mu+dEKrNuBl/SGoQqTRuvGnCeLsPEguP0BQogGk3Y4X0RJQXsVpDb43gpVJmigPxxxDpen4wagxPgEpag34wbCwBahgoYJRYOPQvX60N0gl3b+Xp8XCIfQGWxj7cIa0GArfPM9pqQQ8XYjHyMrScKbTWfLaU+gjO5o0INy1srYRE2vca8QtddFoEkEkOY3a7FLlEvNN3jQilqjLVhLSUV4AalifbNAH3miSRBt| && + |SMEqCCxg418slIl1mQEHUMD5TAAABoKqCmqDhytkKGBKLWaJuAXHiNDFfKaqvpThZhxCiXvR0moeTxfHDcF0FBKPKI79nvCfNsVvQalUACqgZ5cELgFGQW5EC4IdCgQFGICFSg2PQ+Qe4CGgCCLwEEMDJdwwWrRQEFPBUGjzjRKHjCOjWUH8DOxMAGsHlS4BGqmrjgXEm+0FYKTgaQoHniHaJ2DTN3n6MRZXfKz5+cAJdt1goKh84Aim| && + |McoEH6aSfUNYO7VlAD6C5p3ToAqVoD0BgQNBhfQFS3oImZqV6FwFlEEtahnBcBu6waWo3hIaDjDYp67kWl1EEVeHesouTFAig02gfSCVgCmzxcf0ABBbQIa/OgfbkwwV/e2MVPpMuI+i5vXlHDKhePHBXXE8QRXYjRgYhEKaGLiE0KkRFIgb1JkKnJEiCao2G4vBAVRTBAIE1QBYzeHsxahBFQ2gi7HDBP0FkPI6T5MpqD7DjCarVyHS| && + |wwnhG15qHOmMm8QLeNgaIu5hkgswKBNIiI4BsbsAOkTIkZUwYLFiAXZ8jFmiCkLNoCJyQ8jwSABbRMDwAQEBh7FWrG8oKKhUF0aIGCAh5zyjwsw4cwCi0Ljjp5bFVOuh5hKxmoAVapZisA8THf2VlTd86Pxk3XITjcJQ2FWvz/AHx3UJoXCOx2GF8DxlmzNu5DpqQMmD2xJ6H1gtHe7ZARUSuzN0RQbQPAVKznv9Hm8B0YfPjCNEF3XN| && + |gIEd/okTwVtdUEALqqlRsTi9GAK1Vm3DYJgiUbmzp6TPagU/A7n2NWmYpAWIkRDErvD3r+GQDxJrJQvGMAq9JHlfOO+tFODFlAZpfOsTe+v4wCSJe5qyieYvjXj434ehh9BE9jlXyft5NTCaBSlS1UCatftXq5USC4RzRfY2/+4pHAUm8uETFAWALg5oWO7PHmSHDLhwBfYBGlEQKhdMh0g9ydEXSy8cDCQJMoNjaXBbLcU0Ngb4vzk8| && + |gsjbgGhSBAs8tkiNfjBjrHcdBmlQQAKqsM0lBKwp8MU/ZchyB58ZFqp7c0BYGjsOzEoZK3eUmwJsEbCDXvYwwdheH10i4XOx4J6fdxKUKXbd+8L1nRDZgsVdxxo/EOO0z0txesd4wul2SCI0Cqkg2GGAHBsC5DQQypL8fqUBOhQUSKuk+fTGCdSjaf+nMVVvc+DFyqqw1BkCdNdzlBdYLal99yfaziFfeUzZI7tgbdu33gEtNFAQPYtD| && + |4esWgFG1+yEsU5S0RiPD2j0C3eENLTxTChqIFEfCOx9jE85YTncepxP3xGxcKyesdQOr7N8p3x3EA9ieYPK10EZ5iCINhvRGR6T2qeqzWsaE/CZUPRbdHlYjnXtHsG7zyeV1A84AgIE+xroYLsIoKEpspgPaFGOqLQxcVfh4ICCg1a1ABbDNK2qKGIW0ehS2PTAuaAbtw0J9naw0OdTqwewM3FDW26wuks9vtrVEhaDw3NkbCuL4vWj8| && + |wAioy2jGmoFw8iaHYygR8gcTEWUJjhUobmjmngjgPa4wENA5THgScoD0Mh1yV3JX370ZRR0ut/8zVViHjByoHeCEXnXtwEZTAGqYXD+MWOXGh8YqyvDx88KXuS8hMCEuxCoO57ueP12GJmXYu3Qi1MmjHyNm6YZssE3Y0jmus4drGxoq7utXWSmU5dAdNBnSgaMBAvUfQAhvErA19YI2DeQzKPMULMeBgW9PS4aJDlNGI+YcmGiFx8CB| && + |KMF+RYTPhQxQe30HV4G3KqOh/Bc7n1NuNgdk6iHkT8nyKNFMrJa1KGgYEfspfExIQBBJ09P75RjdQob0U0QykDXAyEi5sIiCfOzZvR4MOCy99wfrEYssonlnrf752gNrBigIpNydA1KntgzpRllUSTZCx6u4rDFBFISjGpWFlixm8KUoIfJQbPr6e8q8VULUqktqTwUN8ixwohI7UKYFLQqQylAZPXnRWUOLUfeDAjtqIpKZBEgZjhgu| && + |uni34xEDbey4NAF06c8GwnvJQFZEI8he5pfYVkHQX1htwAUgG74MNXrbdmYmq4NmUcPedUQeVIEAroCB/AZsfSuhkI4CxgXWoO0lATFpsoRslIopesBskfOnHYWQzHJZ2Ka06XEHRbGkRPhJ3uQey5LCgZvso68QSVU6I4vofeb+h8OdF+2StWHALjBYyEFjUYJoMnAilCV1dlpoBANVhuYwbNOMqRrcCSLq4sXneHpWKH4fpyYYD5ZE| && + |I4tUDxUwYwFkAHgDRhBQJKEt05RXWmt8ON32L5UFEElIjFpRJ+zw1sD5Ix+EYAOTBKAVjRH5E3N4A8hAFnoaNSTSIlEcbSoQonA6Ud7w6aZhGSwFicduS2LmoAYsWCMCGwQYjyiCCipI7NGnAEBdCoxfdcVFK6rCcbiwgz5UDY0nwY5q7w2ABEd1PMPFEMMUqCeGSzLM0pTWnneFDB8mGmEPPnD6BPOblVMQmaXHtXcBYbKF6marT6hA| && + |EhBp4mCxK0aRpAsOGgDwAeM3/C40DjJppDYgqgB3cSI3ZErodWIC1qGHleR0FBFgElKdm8kwSpCUAlW3WbxQxb6MZxBZCqb1pdZUWuo0FCsB2BdUrsBUgeac/OSITfMJIAeDHcVH5wYJ/nOL+LDDVfXn/3BlJfWIVpwpirLhbrjWIdZfukaA3m9H4wNKrcHd8ZV9tuae+JguAeHIwLIeseGHl977Jdz3hLEiIi02KJ0GIjCiaxlC8+QC| && + |hqV9gRfAjWfCmxsnN8YzftEGgGEhAU/DFDxSEFC0abmuU81ahbDkEUUpugAZ3s7HnBogXFKoB3TwFYRxYo7XUzwm9R5IlTA49A1OU4CkR01CUBx7c6hmsaH7mV5w1ugoqTVpsuBa6wBBQkVaDVdnuUG0BBhtfIadqogxoWWWti3QeK9x0xYG7OX47/AITuQeQqQSFEE6oz8ZJg1Xr0oKgp1SYOz6Xp1pQbNakADnAYJfg1/GUi4nSjIB| && + |jVWU03M5JAIA/ZB+kcA78TfFF4FTdXQ/oVYgYTRYe9mjUX45WFHhB0fIYDQP4htVVRRCTrcOs0ODRNC0CGlqxBbFzWCGLrznwWNb2uVJhxheneVbjopBNr0g+veUYpUWitq3tJbAgPC4N4kVzcMypvUz5OsuC4gnjNBujGVB7gBPlmkgp8frEijXHI6fVxYwoEgpYwuM1o6lS1Vdoqq7VVw0XnnLB3gxpAAUCwXzK/u4qNpA8pt1sWE9| && + |Lg1fXyO6nABcnHXfYkCfgp9ndx/bAKEchEg2bjVTQhkPWa1myCiMV0nG6XUzvY30Zw0aAws1ehIOjhAKLpSql+KCMNykahA1qe1uP3/HaLWI4jgFEYRooLArqJmqbfh7ngKaDHI7glh8IK/Yo6Uw4PY1lgjgob9BrAa49Chbl2IBY3BySwM0pUp4TiOxEcEMwnwcS8cEafGDT1Zqm3kDG6nb4yW4GiSoLOD5PTiHiZr9e8RdCYyKEzlI| && + |jFwR8nC/UfX2W+b+zcOSI8h3HnCrsyxhkJ89yicUT1h0n3nkMWSgyUrcYi9O5VVpM9cMKEX1hKiJdayCXXwYvWrg2QDe1TR5p7yzpAmMondTyoIDaMF+FBsF4nH2+dfo8yBrESliccCE/lLocinwvVXqgnEAJWuRWw2KCrpUCzMDWFbqyHwcyCUcr0/wBQNTjLpsCERGUnPJdZAhJttFQmAxr1Jyn5g/Tt/wAn4AKIgWtoIhBCWul0it| && + |ENkG7hR6pomg9iilLBWMVC/DLTD1zAqxplIMiOOAgr++Xh6Aocj69HzfOR+IaYNL0mIImGjNTKHznWYKQwg03hIYxJ5H+cWrgHCO6o+MBSlM3IC5ZecxUCwvn1ghaPLszFgQgke8IOBLD4IWG0XzrCLJTNUvl+XpZ7/nhB4maiGkRRHpkkIDAQmgv4wCM+AYBEKgCcNsqrLyU0HopH2n5w2kUDhCtYbnAoAq4TMkR3A2J4w5sIAy2BeF| && + |Z8q7rd2cRyw1RsTFVPMODebg8YUVQfWn4yigJaVUCs0e2OrB4wgtWm3zO7+DwQNBkGPTuUHmbG+M1oeMRhX0wUMIjObwt/O8CL4zU+n+c1PxgAutt4J1UubD7ueNG/Eu/2H98nuQiRiH0U8/HnGSisCg3qp9ut63yfH/FpgQFM8rZEkJLQ2j484U7KlmiF7JvSUAmYROn8YwIH4wj/AFD3j0thk65AYNpo5uaesPdK/LjkRo4aTFRG/O| && + |SW6ExMPxif3YzaG8kp5cHRrIYojAn0Y60YYiOJrFkVvX1klkcgCcv5/vxbst8agdhBCvDyXCZAIBwM8f8AH8YJBIUPWFlBuInkopn0Nk6cKjabwEBrK/HiTMYGOxPxinRe/GaTPBRc2NK2uv4yKA5cTeIF5M9Dvxl0cOvG81h8ayyDy4ts0Z23zmQN+cNFG+Y9NoONy6wD7ZyBu4QMExGIAlB2JPaYZLdGlTBtUMQIrP8Ak+P0D6+5lR| && + |E/bDMypppEhE07DWMEoVVAs7VsMngBgCMuxWk+Jkca9TmMA5kRGjH0ObPrJJ+cYhJMQrgFMb4yPWGFFCuEj35jXcXRjIq2Y5Lm4F4ZQHowSOBY2Yu5ZnDDKbcafkmHnK0BlB9nXf8AndMK2ptcvjPMbbd0Ij9XkaNQRGY4SxCwNI6sgQKcFgmgqTeWLPSZsDS+caNeyZR8C37zShvIoZCtzFEc8TPbENSVnb0Bphp086wgE2fGM7bBJ7| && + |wkdDJ2IOG2Ca1iMEiEBQIpyCmT+gyz4BEB8NXrY6x82/sSdFUjIJppRbXQBiuwaICo2DQudzgWwBQ6FKtnkM1QVGEYVLJNKLT2Yo2HPjGmLTWsO1KccEuy1PH3ir9GdtDG3tr3/nLNsimH7OtPM8SJ9Du3K8WW6y03lYVAear6GuhcA4PSJsPLbXf9DZiQiJpwl7IcpuBLGHC6zxQ43Io708Ajlz5aHJv3y+waaA4CvQ4CUROkwLSzBl| && + |ASyTIPIuBFAvMG2PYaP/uVCA6esFvIe3ajSevOulGVZeLCANDWlAEREcMm/ZcGlNRo1IeUpoARwkfk8iD5OZ+P6G4CAIkR84viu+H1ss+mHHzSUnnSb++AKOdct2+Csm+Soh6D4IE1AHSEXAl2JWMNCzy5dbywRSFE3xMD1TA2q6V7VSJs1xBkeJj1SSDUu+Q84TuRykbe1ZtxRwABQqD7hSKosgCpBzm4aeEfADxGo0cAmv0/P9KmTp| && + |hQiAUN5gggIGT3KHnvRQVoIReBgABKJYTpV03o3zVwkAwoGokR161hoQCAGg/qHj/+RP/Z|. ENDMETHOD. diff --git a/src/z2ui5_cl_demo_app_018.clas.abap b/src/z2ui5_cl_demo_app_018.clas.abap index 07df6a6f..7d07e3cb 100644 --- a/src/z2ui5_cl_demo_app_018.clas.abap +++ b/src/z2ui5_cl_demo_app_018.clas.abap @@ -1,15 +1,13 @@ -CLASS Z2UI5_CL_DEMO_APP_018 DEFINITION PUBLIC. +CLASS z2ui5_cl_demo_app_018 DEFINITION PUBLIC. PUBLIC SECTION. - INTERFACES Z2UI5_if_app. - DATA quantity TYPE string. + DATA quantity TYPE string. DATA mv_textarea TYPE string. PROTECTED SECTION. - - DATA client TYPE REF TO Z2UI5_if_client. + DATA client TYPE REF TO Z2UI5_if_client. DATA check_initialized TYPE abap_bool. METHODS Z2UI5_on_init. @@ -23,28 +21,22 @@ CLASS Z2UI5_CL_DEMO_APP_018 DEFINITION PUBLIC. ENDCLASS. - -CLASS Z2UI5_CL_DEMO_APP_018 IMPLEMENTATION. - +CLASS z2ui5_cl_demo_app_018 IMPLEMENTATION. METHOD Z2UI5_display_popup_input. DATA(view) = Z2UI5_cl_xml_view=>factory_popup( ). - view->dialog( - title = 'Title' - icon = 'sap-icon://edit' + view->dialog( title = 'Title' + icon = 'sap-icon://edit' )->content( - )->text_area( - height = '100%' - width = '100%' - value = client->_bind_edit( mv_textarea ) - )->button( - text = 'Cancel' - press = client->_event( 'POPUP_CANCEL' ) - )->button( - text = 'Confirm' - press = client->_event( 'POPUP_CONFIRM' ) - type = 'Emphasized' ). + )->text_area( height = '100%' + width = '100%' + value = client->_bind_edit( mv_textarea ) + )->button( text = 'Cancel' + press = client->_event( 'POPUP_CANCEL' ) + )->button( text = 'Confirm' + press = client->_event( 'POPUP_CONFIRM' ) + type = 'Emphasized' ). * )->get_parent( * )->footer( )->overflow_toolbar( * )->toolbar_spacer( @@ -60,72 +52,62 @@ CLASS Z2UI5_CL_DEMO_APP_018 IMPLEMENTATION. ENDMETHOD. - METHOD Z2UI5_display_view_main. DATA(view) = z2ui5_cl_xml_view=>factory( ). view->shell( - )->page( - title = 'abap2UI5 - Template' - navbuttonpress = client->_event( val = 'BACK' ) - shownavbutton = xsdbool( client->get( )-s_draft-id_prev_app_stack IS NOT INITIAL ) - )->simple_form( title = 'VIEW_MAIN' editable = abap_true + )->page( title = 'abap2UI5 - Template' + navbuttonpress = client->_event( val = 'BACK' ) + shownavbutton = xsdbool( client->get( )-s_draft-id_prev_app_stack IS NOT INITIAL ) + )->simple_form( title = 'VIEW_MAIN' + editable = abap_true )->content( 'form' )->title( 'Input' )->label( 'quantity' )->input( client->_bind_edit( quantity ) )->label( 'text' - )->input( - value = client->_bind_edit( mv_textarea ) - enabled = abap_false - )->button( - text = 'show popup input' - press = client->_event( 'SHOW_POPUP' ) + )->input( value = client->_bind_edit( mv_textarea ) + enabled = abap_false + )->button( text = 'show popup input' + press = client->_event( 'SHOW_POPUP' ) )->get_parent( )->get_parent( )->footer( )->overflow_toolbar( )->toolbar_spacer( - )->overflow_toolbar_button( - text = 'Clear' - press = client->_event( 'BUTTON_CLEAR' ) - type = 'Reject' - icon = 'sap-icon://delete' - )->button( - text = 'Go to View Second' - press = client->_event( 'SHOW_VIEW_SECOND' ) ). + )->overflow_toolbar_button( text = 'Clear' + press = client->_event( 'BUTTON_CLEAR' ) + type = 'Reject' + icon = 'sap-icon://delete' + )->button( text = 'Go to View Second' + press = client->_event( 'SHOW_VIEW_SECOND' ) ). client->view_display( view->stringify( ) ). ENDMETHOD. - METHOD Z2UI5_display_view_second. DATA(view) = z2ui5_cl_xml_view=>factory( ). view->shell( - )->page( - title = 'abap2UI5 - Template' - navbuttonpress = client->_event( val = 'BACK' ) - shownavbutton = xsdbool( client->get( )-s_draft-id_prev_app_stack IS NOT INITIAL ) + )->page( title = 'abap2UI5 - Template' + navbuttonpress = client->_event( val = 'BACK' ) + shownavbutton = xsdbool( client->get( )-s_draft-id_prev_app_stack IS NOT INITIAL ) )->simple_form( 'VIEW_SECOND' )->content( 'form' )->get_parent( )->get_parent( )->footer( )->overflow_toolbar( )->toolbar_spacer( - )->overflow_toolbar_button( - text = 'Clear' - press = client->_event( 'BUTTON_CLEAR' ) - type = 'Reject' - icon = 'sap-icon://delete' - )->button( - text = 'Go to View Main' - press = client->_event( 'SHOW_VIEW_MAIN' ) ). + )->overflow_toolbar_button( text = 'Clear' + press = client->_event( 'BUTTON_CLEAR' ) + type = 'Reject' + icon = 'sap-icon://delete' + )->button( text = 'Go to View Main' + press = client->_event( 'SHOW_VIEW_MAIN' ) ). client->view_display( view->stringify( ) ). ENDMETHOD. - METHOD Z2UI5_if_app~main. me->client = client. @@ -140,7 +122,6 @@ CLASS Z2UI5_CL_DEMO_APP_018 IMPLEMENTATION. ENDMETHOD. - METHOD Z2UI5_on_event. CASE client->get( )-event. @@ -170,11 +151,11 @@ CLASS Z2UI5_CL_DEMO_APP_018 IMPLEMENTATION. ENDMETHOD. - METHOD Z2UI5_on_init. quantity = '500'. Z2UI5_display_view_main( ). ENDMETHOD. + ENDCLASS. diff --git a/src/z2ui5_cl_demo_app_019.clas.abap b/src/z2ui5_cl_demo_app_019.clas.abap index 854fe85a..7ccce9c0 100644 --- a/src/z2ui5_cl_demo_app_019.clas.abap +++ b/src/z2ui5_cl_demo_app_019.clas.abap @@ -1,7 +1,6 @@ -CLASS Z2UI5_CL_DEMO_APP_019 DEFINITION PUBLIC. +CLASS z2ui5_cl_demo_app_019 DEFINITION PUBLIC. PUBLIC SECTION. - INTERFACES Z2UI5_if_app. TYPES: @@ -12,112 +11,103 @@ CLASS Z2UI5_CL_DEMO_APP_019 DEFINITION PUBLIC. descr TYPE string, END OF ty_row. - DATA t_tab TYPE STANDARD TABLE OF ty_row WITH EMPTY KEY. - DATA t_tab_sel TYPE STANDARD TABLE OF ty_row WITH EMPTY KEY. - DATA mv_sel_mode TYPE string. + DATA t_tab TYPE STANDARD TABLE OF ty_row WITH EMPTY KEY. + DATA t_tab_sel TYPE STANDARD TABLE OF ty_row WITH EMPTY KEY. + DATA mv_sel_mode TYPE string. DATA check_initialized TYPE abap_bool. PROTECTED SECTION. + PRIVATE SECTION. ENDCLASS. - -CLASS Z2UI5_CL_DEMO_APP_019 IMPLEMENTATION. - +CLASS z2ui5_cl_demo_app_019 IMPLEMENTATION. METHOD Z2UI5_if_app~main. - IF check_initialized = abap_false. - check_initialized = abap_true. - - mv_sel_mode = 'None'. - t_tab = VALUE #( descr = 'this is a description' - ( title = 'title_01' value = 'value_01' ) - ( title = 'title_02' value = 'value_02' ) - ( title = 'title_03' value = 'value_03' ) - ( title = 'title_04' value = 'value_04' ) - ( title = 'title_05' value = 'value_05' ) ). - - ENDIF. - - CASE client->get( )-event. - WHEN 'BUTTON_SEGMENT_CHANGE'. - client->message_toast_display( `Selection Mode changed` ). - - WHEN 'BUTTON_READ_SEL'. - t_tab_sel = t_tab. - DELETE t_tab_sel WHERE selkz <> abap_true. - - WHEN 'BACK'. - client->nav_app_leave( ). - - ENDCASE. - - data(view) = z2ui5_cl_xml_view=>factory( ). - DATA(page) = view->shell( - )->page( - title = 'abap2UI5 - Table with different Selection Modes' - navbuttonpress = client->_event( 'BACK' ) - shownavbutton = xsdbool( client->get( )-s_draft-id_prev_app_stack IS NOT INITIAL ) - ). - - page->segmented_button( - selected_key = client->_bind_edit( mv_sel_mode ) - selection_change = client->_event( 'BUTTON_SEGMENT_CHANGE' ) )->get( - )->items( )->get( - )->segmented_button_item( - key = 'None' - text = 'None' - )->segmented_button_item( - key = 'SingleSelect' - text = 'SingleSelect' - )->segmented_button_item( - key = 'SingleSelectLeft' - text = 'SingleSelectLeft' - )->segmented_button_item( - key = 'SingleSelectMaster' - text = 'SingleSelectMaster' - )->segmented_button_item( - key = 'MultiSelect' - text = 'MultiSelect' ). - - page->table( - headertext = 'Table' - mode = mv_sel_mode - items = client->_bind_edit( t_tab ) - )->columns( - )->column( )->text( 'Title' )->get_parent( - )->column( )->text( 'Value' )->get_parent( - )->column( )->text( 'Description' - )->get_parent( )->get_parent( - )->items( - )->column_list_item( selected = '{SELKZ}' - )->cells( - )->text( '{TITLE}' - )->text( '{VALUE}' - )->text( '{DESCR}' ). - - page->table( client->_bind( t_tab_sel ) - )->header_toolbar( - )->overflow_toolbar( - )->title( 'Selected Entries' - )->button( - icon = 'sap-icon://pull-down' - text = 'copy selected entries' - press = client->_event( 'BUTTON_READ_SEL' ) - )->get_parent( )->get_parent( - )->columns( + IF check_initialized = abap_false. + check_initialized = abap_true. + + mv_sel_mode = 'None'. + t_tab = VALUE #( descr = 'this is a description' + ( title = 'title_01' value = 'value_01' ) + ( title = 'title_02' value = 'value_02' ) + ( title = 'title_03' value = 'value_03' ) + ( title = 'title_04' value = 'value_04' ) + ( title = 'title_05' value = 'value_05' ) ). + + ENDIF. + + CASE client->get( )-event. + WHEN 'BUTTON_SEGMENT_CHANGE'. + client->message_toast_display( `Selection Mode changed` ). + + WHEN 'BUTTON_READ_SEL'. + t_tab_sel = t_tab. + DELETE t_tab_sel WHERE selkz <> abap_true. + + WHEN 'BACK'. + client->nav_app_leave( ). + + ENDCASE. + + DATA(view) = z2ui5_cl_xml_view=>factory( ). + DATA(page) = view->shell( + )->page( title = 'abap2UI5 - Table with different Selection Modes' + navbuttonpress = client->_event( 'BACK' ) + shownavbutton = xsdbool( client->get( )-s_draft-id_prev_app_stack IS NOT INITIAL ) + ). + + page->segmented_button( selected_key = client->_bind_edit( mv_sel_mode ) + selection_change = client->_event( 'BUTTON_SEGMENT_CHANGE' ) )->get( + )->items( )->get( + )->segmented_button_item( key = 'None' + text = 'None' + )->segmented_button_item( key = 'SingleSelect' + text = 'SingleSelect' + )->segmented_button_item( key = 'SingleSelectLeft' + text = 'SingleSelectLeft' + )->segmented_button_item( key = 'SingleSelectMaster' + text = 'SingleSelectMaster' + )->segmented_button_item( key = 'MultiSelect' + text = 'MultiSelect' ). + + page->table( headertext = 'Table' + mode = mv_sel_mode + items = client->_bind_edit( t_tab ) + )->columns( )->column( )->text( 'Title' )->get_parent( )->column( )->text( 'Value' )->get_parent( )->column( )->text( 'Description' - )->get_parent( )->get_parent( - )->items( )->column_list_item( )->cells( - )->text( '{TITLE}' - )->text( '{VALUE}' - )->text( '{DESCR}' ). - - client->view_display( view->stringify( ) ). + )->get_parent( )->get_parent( + )->items( + )->column_list_item( selected = '{SELKZ}' + )->cells( + )->text( '{TITLE}' + )->text( '{VALUE}' + )->text( '{DESCR}' ). + + page->table( client->_bind( t_tab_sel ) + )->header_toolbar( + )->overflow_toolbar( + )->title( 'Selected Entries' + )->button( icon = 'sap-icon://pull-down' + text = 'copy selected entries' + press = client->_event( 'BUTTON_READ_SEL' ) + )->get_parent( )->get_parent( + )->columns( + )->column( )->text( 'Title' )->get_parent( + )->column( )->text( 'Value' )->get_parent( + )->column( )->text( 'Description' + )->get_parent( )->get_parent( + )->items( )->column_list_item( )->cells( + )->text( '{TITLE}' + )->text( '{VALUE}' + )->text( '{DESCR}' ). + + client->view_display( view->stringify( ) ). ENDMETHOD. + ENDCLASS. diff --git a/src/z2ui5_cl_demo_app_020.clas.abap b/src/z2ui5_cl_demo_app_020.clas.abap index 658dd764..2e274596 100644 --- a/src/z2ui5_cl_demo_app_020.clas.abap +++ b/src/z2ui5_cl_demo_app_020.clas.abap @@ -1,7 +1,6 @@ -CLASS Z2UI5_CL_DEMO_APP_020 DEFINITION PUBLIC. +CLASS z2ui5_cl_demo_app_020 DEFINITION PUBLIC. PUBLIC SECTION. - INTERFACES Z2UI5_if_app. CLASS-METHODS factory @@ -12,39 +11,37 @@ CLASS Z2UI5_CL_DEMO_APP_020 DEFINITION PUBLIC. i_confirm_text TYPE string i_confirm_event TYPE string RETURNING - VALUE(result) TYPE REF TO Z2UI5_CL_DEMO_APP_020. + VALUE(result) TYPE REF TO z2ui5_cl_demo_app_020. DATA check_initialized TYPE abap_bool. - DATA mv_text TYPE string. - DATA mv_cancel_text TYPE string. - DATA mv_cancel_event TYPE string. - DATA mv_confirm_text TYPE string. - DATA mv_confirm_event TYPE string. - DATA mv_event TYPE string. + DATA mv_text TYPE string. + DATA mv_cancel_text TYPE string. + DATA mv_cancel_event TYPE string. + DATA mv_confirm_text TYPE string. + DATA mv_confirm_event TYPE string. + DATA mv_event TYPE string. PROTECTED SECTION. + PRIVATE SECTION. ENDCLASS. - -CLASS Z2UI5_CL_DEMO_APP_020 IMPLEMENTATION. - +CLASS z2ui5_cl_demo_app_020 IMPLEMENTATION. METHOD factory. result = NEW #( ). - result->mv_text = i_text. - result->mv_cancel_text = i_cancel_text. - result->mv_cancel_event = i_cancel_event. - result->mv_confirm_text = i_confirm_text. + result->mv_text = i_text. + result->mv_cancel_text = i_cancel_text. + result->mv_cancel_event = i_cancel_event. + result->mv_confirm_text = i_confirm_text. result->mv_confirm_event = i_confirm_event. ENDMETHOD. - METHOD Z2UI5_if_app~main. IF check_initialized = abap_false. @@ -57,22 +54,21 @@ CLASS Z2UI5_CL_DEMO_APP_020 IMPLEMENTATION. mv_event = client->get( )-event. client->popup_destroy( ). client->nav_app_leave( ). - return. + RETURN. ENDCASE. - client->popup_display( Z2UI5_cl_xml_view=>factory_popup( - )->dialog( 'abap2UI5 - Popup to decide' - )->vbox( - )->text( mv_text )->get_parent( - )->buttons( - )->button( - text = mv_cancel_text - press = client->_event( mv_cancel_event ) - )->button( - text = mv_confirm_text - press = client->_event( mv_confirm_event ) - type = 'Emphasized' - )->stringify( ) ). + client->popup_display( Z2UI5_cl_xml_view=>factory_popup( + )->dialog( 'abap2UI5 - Popup to decide' + )->vbox( + )->text( mv_text )->get_parent( + )->buttons( + )->button( text = mv_cancel_text + press = client->_event( mv_cancel_event ) + )->button( text = mv_confirm_text + press = client->_event( mv_confirm_event ) + type = 'Emphasized' + )->stringify( ) ). ENDMETHOD. + ENDCLASS. diff --git a/src/z2ui5_cl_demo_app_021.clas.abap b/src/z2ui5_cl_demo_app_021.clas.abap index 0966b64b..5b328aee 100644 --- a/src/z2ui5_cl_demo_app_021.clas.abap +++ b/src/z2ui5_cl_demo_app_021.clas.abap @@ -1,19 +1,20 @@ CLASS z2ui5_cl_demo_app_021 DEFINITION PUBLIC CREATE PUBLIC. PUBLIC SECTION. - INTERFACES z2ui5_if_app. + DATA mv_textarea TYPE string. PROTECTED SECTION. - DATA client TYPE REF TO z2ui5_if_client. DATA check_initialized TYPE abap_bool. METHODS z2ui5_set_data. + METHODS display_view IMPORTING client TYPE REF TO z2ui5_if_client. + METHODS on_event IMPORTING client TYPE REF TO z2ui5_if_client. @@ -23,33 +24,30 @@ CLASS z2ui5_cl_demo_app_021 DEFINITION PUBLIC CREATE PUBLIC. ENDCLASS. - CLASS z2ui5_cl_demo_app_021 IMPLEMENTATION. - METHOD display_view. DATA(page) = z2ui5_cl_xml_view=>factory( )->shell( - )->page( - title = 'abap2UI5 - Text Area Example' - navbuttonpress = client->_event( 'BACK' ) - shownavbutton = xsdbool( client->get( )-s_draft-id_prev_app_stack IS NOT INITIAL ) ). + )->page( title = 'abap2UI5 - Text Area Example' + navbuttonpress = client->_event( 'BACK' ) + shownavbutton = xsdbool( client->get( )-s_draft-id_prev_app_stack IS NOT INITIAL ) ). - DATA(layout) = page->vertical_layout( class = `sapUiContentPadding` width = `100%` ). + DATA(layout) = page->vertical_layout( class = `sapUiContentPadding` + width = `100%` ). layout->label( 'text area' - )->text_area( - valueliveupdate = abap_true - value = client->_bind_edit( mv_textarea ) - growing = abap_true - growingmaxlines = '7' - width = '100%' - )->button( text = `OK` press = client->_event( `POST` ) ). + )->text_area( valueliveupdate = abap_true + value = client->_bind_edit( mv_textarea ) + growing = abap_true + growingmaxlines = '7' + width = '100%' + )->button( text = `OK` + press = client->_event( `POST` ) ). client->view_display( page->stringify( ) ). ENDMETHOD. - METHOD on_event. CASE client->get( )-event. @@ -61,7 +59,6 @@ CLASS z2ui5_cl_demo_app_021 IMPLEMENTATION. ENDMETHOD. - METHOD z2ui5_if_app~main. me->client = client. @@ -76,15 +73,15 @@ CLASS z2ui5_cl_demo_app_021 IMPLEMENTATION. ENDMETHOD. - METHOD z2ui5_set_data. - mv_textarea = `Lorem ipsum dolor st amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magn` && - `a aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd` && - ` gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam n ` && - ` onumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. Lorem ipsum dolor sit am ` && - ` et, consetetur sadipscing elitr, sed diam nonumy eirm sed diam voluptua. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam no ` && - `numy eirmod tempor invidunt ut labore et dolore magna aliquyam erat.`. + mv_textarea = |Lorem ipsum dolor st amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magn| && + |a aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd| && + | gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam n | && + | onumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. Lorem ipsum dolor sit am | && + | et, consetetur sadipscing elitr, sed diam nonumy eirm sed diam voluptua. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam no | && + |numy eirmod tempor invidunt ut labore et dolore magna aliquyam erat.|. ENDMETHOD. + ENDCLASS. diff --git a/src/z2ui5_cl_demo_app_022.clas.abap b/src/z2ui5_cl_demo_app_022.clas.abap index 262f2f1c..21bd4c06 100644 --- a/src/z2ui5_cl_demo_app_022.clas.abap +++ b/src/z2ui5_cl_demo_app_022.clas.abap @@ -1,18 +1,16 @@ CLASS z2ui5_cl_demo_app_022 DEFINITION PUBLIC. PUBLIC SECTION. - INTERFACES z2ui5_if_app. DATA: BEGIN OF screen, - progress_value TYPE string VALUE '3', + progress_value TYPE string VALUE '3', END OF screen. DATA check_initialized TYPE abap_bool. PROTECTED SECTION. - METHODS display_view IMPORTING client TYPE REF TO z2ui5_if_client. @@ -25,31 +23,27 @@ CLASS z2ui5_cl_demo_app_022 DEFINITION PUBLIC. ENDCLASS. - CLASS z2ui5_cl_demo_app_022 IMPLEMENTATION. - METHOD display_view. DATA(page) = z2ui5_cl_xml_view=>factory( )->shell( - )->page( - title = 'abap2UI5 - Progress Indicator Example' - navbuttonpress = client->_event( 'BACK' ) - shownavbutton = xsdbool( client->get( )-s_draft-id_prev_app_stack IS NOT INITIAL ) ). + )->page( title = 'abap2UI5 - Progress Indicator Example' + navbuttonpress = client->_event( 'BACK' ) + shownavbutton = xsdbool( client->get( )-s_draft-id_prev_app_stack IS NOT INITIAL ) ). - DATA(layout) = page->vertical_layout( class = `sapUiContentPadding` width = `100%` ). + DATA(layout) = page->vertical_layout( class = `sapUiContentPadding` + width = `100%` ). layout->label( 'ProgressIndicator' - )->progress_indicator( - percentvalue = screen-progress_value - displayvalue = '0,44GB of 32GB used' - showvalue = abap_true - state = 'Success' ). + )->progress_indicator( percentvalue = screen-progress_value + displayvalue = '0,44GB of 32GB used' + showvalue = abap_true + state = 'Success' ). client->view_display( page->stringify( ) ). ENDMETHOD. - METHOD on_event. CASE client->get( )-event. @@ -61,7 +55,6 @@ CLASS z2ui5_cl_demo_app_022 IMPLEMENTATION. ENDMETHOD. - METHOD z2ui5_if_app~main. IF check_initialized = abap_false. @@ -72,4 +65,5 @@ CLASS z2ui5_cl_demo_app_022 IMPLEMENTATION. on_event( client ). ENDMETHOD. + ENDCLASS. diff --git a/src/z2ui5_cl_demo_app_024.clas.abap b/src/z2ui5_cl_demo_app_024.clas.abap index 35a7bab2..83e0d77a 100644 --- a/src/z2ui5_cl_demo_app_024.clas.abap +++ b/src/z2ui5_cl_demo_app_024.clas.abap @@ -1,15 +1,13 @@ CLASS z2ui5_cl_demo_app_024 DEFINITION PUBLIC. PUBLIC SECTION. - INTERFACES z2ui5_if_app. - DATA mv_input TYPE string. - DATA mv_input2 TYPE string. + DATA mv_input TYPE string. + DATA mv_input2 TYPE string. DATA mv_backend_event TYPE string. PROTECTED SECTION. - METHODS display_view IMPORTING client TYPE REF TO z2ui5_if_client. @@ -18,29 +16,31 @@ CLASS z2ui5_cl_demo_app_024 DEFINITION PUBLIC. ENDCLASS. - CLASS z2ui5_cl_demo_app_024 IMPLEMENTATION. - METHOD display_view. DATA(view) = z2ui5_cl_xml_view=>factory( ). view->shell( - )->page( title = 'abap2UI5 - flow logic - APP 01' - navbuttonpress = client->_event( val = 'BACK' ) - shownavbutton = xsdbool( client->get( )-s_draft-id_prev_app_stack IS NOT INITIAL ) + )->page( title = 'abap2UI5 - flow logic - APP 01' + navbuttonpress = client->_event( val = 'BACK' ) + shownavbutton = xsdbool( client->get( )-s_draft-id_prev_app_stack IS NOT INITIAL ) )->grid( 'L6 M12 S12' )->content( 'layout' )->simple_form( 'Controller' )->content( 'form' )->label( 'Demo' - )->button( text = 'call new app (first View)' press = client->_event( 'CALL_NEW_APP' ) + )->button( text = 'call new app (first View)' + press = client->_event( 'CALL_NEW_APP' ) )->label( 'Demo' - )->button( text = 'call new app (second View)' press = client->_event( 'CALL_NEW_APP_VIEW' ) + )->button( text = 'call new app (second View)' + press = client->_event( 'CALL_NEW_APP_VIEW' ) )->label( 'Demo' - )->button( text = 'call new app (set Event)' press = client->_event( 'CALL_NEW_APP_EVENT' ) + )->button( text = 'call new app (set Event)' + press = client->_event( 'CALL_NEW_APP_EVENT' ) )->label( 'Demo' )->input( client->_bind_edit( mv_input ) - )->button( text = 'call new app (set data)' press = client->_event( 'CALL_NEW_APP_READ' ) + )->button( text = 'call new app (set data)' + press = client->_event( 'CALL_NEW_APP_READ' ) )->label( 'some data, you can read in the next app' )->input( client->_bind_edit( mv_input2 ) ). @@ -48,7 +48,6 @@ CLASS z2ui5_cl_demo_app_024 IMPLEMENTATION. ENDMETHOD. - METHOD z2ui5_if_app~main. IF client->check_on_navigated( ). @@ -86,10 +85,11 @@ CLASS z2ui5_cl_demo_app_024 IMPLEMENTATION. WHEN 'CALL_PREVIOUS_APP_INPUT_RETURN'. DATA(lo_called_app) = CAST z2ui5_cl_demo_app_025( client->get_app_prev( ) ). CLEAR mv_backend_event. - client->message_box_display( `Input made in the previous app:` && lo_called_app->mv_input ). + client->message_box_display( |Input made in the previous app:{ lo_called_app->mv_input }| ). ENDCASE. ENDCASE. ENDMETHOD. + ENDCLASS. diff --git a/src/z2ui5_cl_demo_app_025.clas.abap b/src/z2ui5_cl_demo_app_025.clas.abap index e9190949..834e1502 100644 --- a/src/z2ui5_cl_demo_app_025.clas.abap +++ b/src/z2ui5_cl_demo_app_025.clas.abap @@ -1,23 +1,22 @@ -CLASS Z2UI5_CL_DEMO_APP_025 DEFINITION PUBLIC. +CLASS z2ui5_cl_demo_app_025 DEFINITION PUBLIC. PUBLIC SECTION. - INTERFACES Z2UI5_if_app. - DATA mv_input TYPE string. - DATA mv_input_previous TYPE string. + DATA mv_input TYPE string. + DATA mv_input_previous TYPE string. DATA mv_input_previous_set TYPE string. - DATA mv_show_view TYPE string. + DATA mv_show_view TYPE string. + + DATA mv_event_backend TYPE string. - DATA mv_event_backend TYPE string. PROTECTED SECTION. + PRIVATE SECTION. ENDCLASS. - -CLASS Z2UI5_CL_DEMO_APP_025 IMPLEMENTATION. - +CLASS z2ui5_cl_demo_app_025 IMPLEMENTATION. METHOD Z2UI5_if_app~main. @@ -27,13 +26,13 @@ CLASS Z2UI5_CL_DEMO_APP_025 IMPLEMENTATION. client->message_box_display( 'server-client roundtrip, method on_event of the abap controller was called' ). WHEN 'BUTTON_RESTART'. - client->nav_app_call( NEW Z2UI5_CL_DEMO_APP_025( ) ). + client->nav_app_call( NEW z2ui5_cl_demo_app_025( ) ). WHEN 'BUTTON_CHANGE_APP'. - client->nav_app_call( NEW Z2UI5_CL_DEMO_APP_001( ) ). + client->nav_app_call( NEW z2ui5_cl_demo_app_001( ) ). WHEN 'BUTTON_READ_PREVIOUS'. - DATA(lo_previous_app) = CAST Z2UI5_CL_DEMO_APP_024( client->get_app( client->get( )-s_draft-id_prev_app ) ). + DATA(lo_previous_app) = CAST z2ui5_cl_demo_app_024( client->get_app( client->get( )-s_draft-id_prev_app ) ). mv_input_previous = lo_previous_app->mv_input2. client->message_toast_display( `data of previous app read` ). @@ -41,7 +40,7 @@ CLASS Z2UI5_CL_DEMO_APP_025 IMPLEMENTATION. mv_show_view = 'MAIN'. WHEN 'BACK_WITH_EVENT'. - lo_previous_app = CAST Z2UI5_CL_DEMO_APP_024( client->get_app( client->get( )-s_draft-id_prev_app_stack ) ). + lo_previous_app = CAST z2ui5_cl_demo_app_024( client->get_app( client->get( )-s_draft-id_prev_app_stack ) ). lo_previous_app->mv_backend_event = 'CALL_PREVIOUS_APP_INPUT_RETURN'. client->nav_app_leave( lo_previous_app ). @@ -59,16 +58,15 @@ CLASS Z2UI5_CL_DEMO_APP_025 IMPLEMENTATION. ENDCASE. - CASE mv_show_view. WHEN 'MAIN' OR ''. - data(view) = z2ui5_cl_xml_view=>factory( ). + DATA(view) = z2ui5_cl_xml_view=>factory( ). DATA(page) = view->shell( - )->page( - title = 'abap2UI5 - flow logic - APP 02' - navbuttonpress = client->_event( 'BACK' ) shownavbutton = abap_true + )->page( title = 'abap2UI5 - flow logic - APP 02' + navbuttonpress = client->_event( 'BACK' ) + shownavbutton = abap_true ). page->grid( 'L6 M12 S12' )->content( 'layout' @@ -80,31 +78,36 @@ CLASS Z2UI5_CL_DEMO_APP_025 IMPLEMENTATION. )->label( 'Data of previous app' )->input( mv_input_previous - )->button( text = 'read' press = client->_event( 'BUTTON_READ_PREVIOUS' ) + )->button( text = 'read' + press = client->_event( 'BUTTON_READ_PREVIOUS' ) )->label( 'Call previous app and show data of this app' )->input( client->_bind_edit( mv_input ) - )->button( text = 'back' press = client->_event( 'BACK_WITH_EVENT' ) ). + )->button( text = 'back' + press = client->_event( 'BACK_WITH_EVENT' ) ). WHEN 'SECOND'. view = z2ui5_cl_xml_view=>factory( ). page = view->shell( - )->page( - title = 'abap2UI5 - flow logic - APP 02' - navbuttonpress = client->_event( val = 'BACK' ) shownavbutton = abap_true + )->page( title = 'abap2UI5 - flow logic - APP 02' + navbuttonpress = client->_event( val = 'BACK' ) + shownavbutton = abap_true ). page->grid( 'L6 M12 S12' )->content( 'layout' )->simple_form( 'View: SECOND' )->content( 'form' )->label( 'Demo' - )->button( text = 'leave to previous app' press = client->_event( 'BACK' ) + )->button( text = 'leave to previous app' + press = client->_event( 'BACK' ) )->label( 'Demo' - )->button( text = 'show view main' press = client->_event( 'SHOW_VIEW_MAIN' ) ). + )->button( text = 'show view main' + press = client->_event( 'SHOW_VIEW_MAIN' ) ). ENDCASE. client->view_display( view->stringify( ) ). ENDMETHOD. + ENDCLASS. diff --git a/src/z2ui5_cl_demo_app_026.clas.abap b/src/z2ui5_cl_demo_app_026.clas.abap index 165f977c..4c6e2bb6 100644 --- a/src/z2ui5_cl_demo_app_026.clas.abap +++ b/src/z2ui5_cl_demo_app_026.clas.abap @@ -1,21 +1,20 @@ -CLASS Z2UI5_CL_DEMO_APP_026 DEFINITION PUBLIC. +CLASS z2ui5_cl_demo_app_026 DEFINITION PUBLIC. PUBLIC SECTION. - INTERFACES Z2UI5_if_app. - DATA product TYPE string. - DATA quantity TYPE string. + DATA product TYPE string. + DATA quantity TYPE string. DATA mv_placement TYPE string. PROTECTED SECTION. - - DATA client TYPE REF TO Z2UI5_if_client. + DATA client TYPE REF TO Z2UI5_if_client. DATA check_initialized TYPE abap_bool. METHODS Z2UI5_on_init. METHODS Z2UI5_on_event. METHODS Z2UI5_display_view. + METHODS Z2UI5_display_popover IMPORTING id TYPE string. @@ -24,89 +23,74 @@ CLASS Z2UI5_CL_DEMO_APP_026 DEFINITION PUBLIC. ENDCLASS. - -CLASS Z2UI5_CL_DEMO_APP_026 IMPLEMENTATION. - +CLASS z2ui5_cl_demo_app_026 IMPLEMENTATION. METHOD Z2UI5_display_popover. DATA(view) = Z2UI5_cl_xml_view=>factory_popup( ). - view->popover( - title = 'Popover Title' - placement = mv_placement + view->popover( title = 'Popover Title' + placement = mv_placement )->footer( )->overflow_toolbar( )->toolbar_spacer( - )->button( - text = 'Cancel' - press = client->_event( 'BUTTON_CANCEL' ) - )->button( - text = 'Confirm' - press = client->_event( 'BUTTON_CONFIRM' ) - type = 'Emphasized' + )->button( text = 'Cancel' + press = client->_event( 'BUTTON_CANCEL' ) + )->button( text = 'Confirm' + press = client->_event( 'BUTTON_CONFIRM' ) + type = 'Emphasized' )->get_parent( )->get_parent( - )->text( 'make an input here:' + )->text( 'make an input here:' )->input( value = 'abcd' ). - client->popover_display( - xml = view->stringify( ) - by_id = id + client->popover_display( xml = view->stringify( ) + by_id = id ). ENDMETHOD. - METHOD Z2UI5_display_view. DATA(view) = z2ui5_cl_xml_view=>factory( ). view->shell( - )->page( - title = 'abap2UI5 - Popover Examples' - navbuttonpress = client->_event( val = 'BACK' ) - shownavbutton = xsdbool( client->get( )-s_draft-id_prev_app_stack IS NOT INITIAL ) + )->page( title = 'abap2UI5 - Popover Examples' + navbuttonpress = client->_event( val = 'BACK' ) + shownavbutton = xsdbool( client->get( )-s_draft-id_prev_app_stack IS NOT INITIAL ) )->simple_form( 'Popover' )->content( 'form' )->title( 'Input' )->label( 'Link' - )->link( text = 'Documentation UI5 Popover Control' href = 'https://openui5.hana.ondemand.com/entity/sap.m.Popover' + )->link( text = 'Documentation UI5 Popover Control' + href = 'https://openui5.hana.ondemand.com/entity/sap.m.Popover' )->label( 'placement' )->segmented_button( selected_key = client->_bind_edit( mv_placement ) )->items( - )->segmented_button_item( - key = 'Left' - icon = 'sap-icon://add-favorite' - text = 'Left' - )->segmented_button_item( - key = 'Top' - icon = 'sap-icon://accept' - text = 'Top' - )->segmented_button_item( - key = 'Bottom' - icon = 'sap-icon://accept' - text = 'Bottom' - )->segmented_button_item( - key = 'Right' - icon = 'sap-icon://attachment' - text = 'Right' + )->segmented_button_item( key = 'Left' + icon = 'sap-icon://add-favorite' + text = 'Left' + )->segmented_button_item( key = 'Top' + icon = 'sap-icon://accept' + text = 'Top' + )->segmented_button_item( key = 'Bottom' + icon = 'sap-icon://accept' + text = 'Bottom' + )->segmented_button_item( key = 'Right' + icon = 'sap-icon://attachment' + text = 'Right' )->get_parent( )->get_parent( )->label( 'popover' - )->button( - text = 'show' - press = client->_event( 'POPOVER' ) - id = 'TEST' - )->button( - text = 'cancel' - press = client->_event( 'POPOVER' ) - )->button( - text = 'post' - press = client->_event( 'POPOVER' ) + )->button( text = 'show' + press = client->_event( 'POPOVER' ) + id = 'TEST' + )->button( text = 'cancel' + press = client->_event( 'POPOVER' ) + )->button( text = 'post' + press = client->_event( 'POPOVER' ) ). client->view_display( view->stringify( ) ). ENDMETHOD. - METHOD Z2UI5_if_app~main. me->client = client. @@ -122,7 +106,6 @@ CLASS Z2UI5_CL_DEMO_APP_026 IMPLEMENTATION. ENDMETHOD. - METHOD Z2UI5_on_event. CASE client->get( )-event. @@ -145,7 +128,6 @@ CLASS Z2UI5_CL_DEMO_APP_026 IMPLEMENTATION. ENDMETHOD. - METHOD Z2UI5_on_init. mv_placement = 'Left'. @@ -153,4 +135,5 @@ CLASS Z2UI5_CL_DEMO_APP_026 IMPLEMENTATION. quantity = '500'. ENDMETHOD. + ENDCLASS. diff --git a/src/z2ui5_cl_demo_app_027.clas.abap b/src/z2ui5_cl_demo_app_027.clas.abap index f7d3922a..3a862b7e 100644 --- a/src/z2ui5_cl_demo_app_027.clas.abap +++ b/src/z2ui5_cl_demo_app_027.clas.abap @@ -1,21 +1,19 @@ CLASS z2ui5_cl_demo_app_027 DEFINITION PUBLIC. PUBLIC SECTION. - INTERFACES z2ui5_if_app. DATA product TYPE string. DATA quantity TYPE i. - DATA input2 TYPE string. - DATA input31 TYPE i. - DATA input32 TYPE i. - DATA input41 TYPE string. - DATA input51 TYPE string. - DATA input52 TYPE string. + DATA input2 TYPE string. + DATA input31 TYPE i. + DATA input32 TYPE i. + DATA input41 TYPE string. + DATA input51 TYPE string. + DATA input52 TYPE string. PROTECTED SECTION. - - DATA client TYPE REF TO z2ui5_if_client. + DATA client TYPE REF TO z2ui5_if_client. DATA: BEGIN OF app, check_initialized TYPE abap_bool, @@ -32,10 +30,8 @@ CLASS z2ui5_cl_demo_app_027 DEFINITION PUBLIC. ENDCLASS. - CLASS z2ui5_cl_demo_app_027 IMPLEMENTATION. - METHOD z2ui5_if_app~main. me->client = client. @@ -57,7 +53,6 @@ CLASS z2ui5_cl_demo_app_027 IMPLEMENTATION. ENDMETHOD. - METHOD z2ui5_on_event. CASE app-s_get-event. @@ -69,7 +64,6 @@ CLASS z2ui5_cl_demo_app_027 IMPLEMENTATION. ENDMETHOD. - METHOD z2ui5_on_init. product = 'tomato'. @@ -79,68 +73,63 @@ CLASS z2ui5_cl_demo_app_027 IMPLEMENTATION. ENDMETHOD. - METHOD z2ui5_on_render. DATA(view) = z2ui5_cl_xml_view=>factory( ). DATA(lv_xml) = view->shell( - )->page( - title = 'abap2UI5 - Binding Syntax' - navbuttonpress = client->_event( 'BACK' ) - shownavbutton = xsdbool( client->get( )-s_draft-id_prev_app_stack IS NOT INITIAL ) - )->simple_form( title = 'Binding Syntax' editable = abap_true + )->page( title = 'abap2UI5 - Binding Syntax' + navbuttonpress = client->_event( 'BACK' ) + shownavbutton = xsdbool( client->get( )-s_draft-id_prev_app_stack IS NOT INITIAL ) + )->simple_form( title = 'Binding Syntax' + editable = abap_true )->content( 'form' )->title( 'Expression Binding' )->label( 'Documentation' - )->link( - text = 'Expression Binding' - href = 'https://sapui5.hana.ondemand.com/sdk/#/topic/daf6852a04b44d118963968a1239d2c0' + )->link( text = 'Expression Binding' + href = 'https://sapui5.hana.ondemand.com/sdk/#/topic/daf6852a04b44d118963968a1239d2c0' )->label( 'input in uppercase' )->input( client->_bind( input2 ) - )->input( - value = '{= $' && client->_bind( input2 ) && '.toUpperCase() }' - enabled = abap_false - + )->input( value = |\{= ${ client->_bind( input2 ) }.toUpperCase() \}| + enabled = abap_false )->label( 'max value of the first two inputs' - )->input( '{ type : "sap.ui.model.type.Integer",' && - ' path:"' && client->_bind( val = input31 path = abap_true ) && '" }' - )->input( '{ type : "sap.ui.model.type.Integer",' && |\n| && - ' path:"' && client->_bind( val = input32 path = abap_true ) && '" }' - )->input( - value = '{= Math.max($' && client->_bind( input31 ) &&', $' && client->_bind( input32 ) && ') }' - enabled = abap_false - + )->input( |\{ type : "sap.ui.model.type.Integer",| && + | path:"{ client->_bind( val = input31 + path = abap_true ) }" \}| + )->input( |\{ type : "sap.ui.model.type.Integer",| && |\n| && + | path:"{ client->_bind( val = input32 + path = abap_true ) }" \}| + )->input( value = |\{= Math.max(${ client->_bind( input31 ) }, ${ client->_bind( input32 ) }) \}| + enabled = abap_false )->label( 'only enabled when the quantity equals 500' - )->input( '{ type : "sap.ui.model.type.Integer",' && - ' path:"' && client->_bind( val = quantity path = abap_true ) && `" }` - )->input( - value = product - enabled = '{= 500===$' && client->_bind( quantity ) && ' }' + )->input( |\{ type : "sap.ui.model.type.Integer",| && + | path:"{ client->_bind( val = quantity + path = abap_true ) }" \}| + )->input( value = product + enabled = |\{= 500===${ client->_bind( quantity ) } \}| )->label( 'RegExp Set to enabled if the input contains VIP, ignoring the case.' )->input( client->_bind( val = input41 ) - )->button( - text = 'VIP' - enabled = '{= RegExp(''vip'', ''i'').test($' && client->_bind( input41 ) && ') }' - + )->button( text = 'VIP' + enabled = |\{= RegExp('vip', 'i').test(${ client->_bind( input41 ) }) \}| )->label( 'concatenate both inputs' )->input( client->_bind( val = input51 ) )->input( client->_bind( val = input52 ) - )->input( - value = '{ parts: [' && |\n| && - ' "' && client->_bind( val = input51 path = abap_true ) && '",' && |\n| && - ' "' && client->_bind( val = input52 path = abap_true ) && '"' && |\n| && - ' ] }' - enabled = abap_false + )->input( value = |\{ parts: [| && |\n| && + | "{ client->_bind( val = input51 + path = abap_true ) }",| && |\n| && + | "{ client->_bind( val = input52 + path = abap_true ) }"| && |\n| && + | ] \}| + enabled = abap_false )->get_root( )->xml_get( ). - client->view_display( lv_xml ). ENDMETHOD. + ENDCLASS. diff --git a/src/z2ui5_cl_demo_app_028.clas.abap b/src/z2ui5_cl_demo_app_028.clas.abap index da4b211b..d2c7dce9 100644 --- a/src/z2ui5_cl_demo_app_028.clas.abap +++ b/src/z2ui5_cl_demo_app_028.clas.abap @@ -1,7 +1,6 @@ CLASS z2ui5_cl_demo_app_028 DEFINITION PUBLIC. PUBLIC SECTION. - INTERFACES z2ui5_if_app. TYPES: @@ -13,14 +12,14 @@ CLASS z2ui5_cl_demo_app_028 DEFINITION PUBLIC. info TYPE string, checkbox TYPE abap_bool, END OF ty_row. - DATA t_tab TYPE STANDARD TABLE OF ty_row WITH EMPTY KEY. - DATA mv_counter TYPE i. + DATA t_tab TYPE STANDARD TABLE OF ty_row WITH EMPTY KEY. + + DATA mv_counter TYPE i. DATA mv_check_active TYPE abap_bool. PROTECTED SECTION. - - DATA client TYPE REF TO z2ui5_if_client. + DATA client TYPE REF TO z2ui5_if_client. DATA check_initialized TYPE abap_bool. METHODS z2ui5_on_init. @@ -33,10 +32,9 @@ ENDCLASS. CLASS z2ui5_cl_demo_app_028 IMPLEMENTATION. - METHOD z2ui5_if_app~main. - me->client = client. + me->client = client. IF check_initialized = abap_false. check_initialized = abap_true. @@ -50,18 +48,20 @@ CLASS z2ui5_cl_demo_app_028 IMPLEMENTATION. ENDMETHOD. - METHOD z2ui5_on_event. CASE client->get( )-event. WHEN 'TIMER_FINISHED'. mv_counter = mv_counter + 1. - INSERT VALUE #( title = 'entry' && mv_counter info = 'completed' descr = 'this is a description' icon = 'sap-icon://account' ) - INTO TABLE t_tab. + INSERT VALUE #( title = |entry{ mv_counter }| + info = 'completed' + descr = 'this is a description' + icon = 'sap-icon://account' ) + INTO TABLE t_tab. IF mv_counter = 3. - mv_check_active = abap_false. + mv_check_active = abap_false. client->message_toast_display( `timer deactivated` ). ENDIF. @@ -74,43 +74,39 @@ CLASS z2ui5_cl_demo_app_028 IMPLEMENTATION. ENDMETHOD. - METHOD z2ui5_on_init. mv_counter = 1. mv_check_active = abap_true. t_tab = VALUE #( - ( title = 'entry' && mv_counter info = 'completed' descr = 'this is a description' icon = 'sap-icon://account' ) ). + ( title = |entry{ mv_counter }| info = 'completed' descr = 'this is a description' icon = 'sap-icon://account' ) ). ENDMETHOD. - METHOD z2ui5_view_display. DATA(lo_view) = z2ui5_cl_xml_view=>factory( ). - lo_view->_z2ui5( )->timer( - finished = client->_event( 'TIMER_FINISHED' ) - delayms = `2000` - checkactive = client->_bind( mv_check_active ) ). + lo_view->_z2ui5( )->timer( finished = client->_event( 'TIMER_FINISHED' ) + delayms = `2000` + checkactive = client->_bind( mv_check_active ) ). DATA(page) = lo_view->shell( )->page( - title = 'abap2UI5 - CL_GUI_TIMER - Monitor' - navbuttonpress = client->_event( 'BACK' ) - shownavbutton = xsdbool( client->get( )-s_draft-id_prev_app_stack IS NOT INITIAL ) + title = 'abap2UI5 - CL_GUI_TIMER - Monitor' + navbuttonpress = client->_event( 'BACK' ) + shownavbutton = xsdbool( client->get( )-s_draft-id_prev_app_stack IS NOT INITIAL ) ). - page->list( - headertext = 'Data auto refresh (2 sec)' - items = client->_bind( t_tab ) - )->standard_list_item( - title = '{TITLE}' - description = '{DESCR}' - icon = '{ICON}' - info = '{INFO}' ). + page->list( headertext = 'Data auto refresh (2 sec)' + items = client->_bind( t_tab ) + )->standard_list_item( title = '{TITLE}' + description = '{DESCR}' + icon = '{ICON}' + info = '{INFO}' ). client->view_display( lo_view->stringify( ) ). ENDMETHOD. + ENDCLASS. diff --git a/src/z2ui5_cl_demo_app_029.clas.abap b/src/z2ui5_cl_demo_app_029.clas.abap index fc85d31b..bdb5c7f6 100644 --- a/src/z2ui5_cl_demo_app_029.clas.abap +++ b/src/z2ui5_cl_demo_app_029.clas.abap @@ -1,10 +1,9 @@ -CLASS Z2UI5_CL_DEMO_APP_029 DEFINITION PUBLIC. +CLASS z2ui5_cl_demo_app_029 DEFINITION PUBLIC. PUBLIC SECTION. - INTERFACES Z2UI5_if_app. - DATA check_initialized TYPE abap_bool. + DATA check_initialized TYPE abap_bool. DATA mv_tab_radial_active TYPE abap_bool. @@ -13,86 +12,75 @@ CLASS Z2UI5_CL_DEMO_APP_029 DEFINITION PUBLIC. DATA client TYPE REF TO Z2UI5_if_client. PROTECTED SECTION. + PRIVATE SECTION. ENDCLASS. - -CLASS Z2UI5_CL_DEMO_APP_029 IMPLEMENTATION. - +CLASS z2ui5_cl_demo_app_029 IMPLEMENTATION. METHOD render_tab_radial. DATA(view) = z2ui5_cl_xml_view=>factory( ). DATA(container) = view->shell( - )->page( - title = 'abap2UI5 - Visualization' - navbuttonpress = client->_event( 'BACK' ) - shownavbutton = abap_true + )->page( title = 'abap2UI5 - Visualization' + navbuttonpress = client->_event( 'BACK' ) + shownavbutton = abap_true )->tab_container( ). - DATA(grid) = container->tab( - text = 'Radial Chart' - selected = client->_bind( mv_tab_radial_active ) + DATA(grid) = container->tab( text = 'Radial Chart' + selected = client->_bind( mv_tab_radial_active ) )->grid( 'XL12 L12 M12 S12' ). grid->link( - text = 'Go to the SAP Demos for Radial Charts here...' target = '_blank' - href = 'https://sapui5.hana.ondemand.com/#/entity/sap.suite.ui.microchart.RadialMicroChart/sample/sap.suite.ui.microchart.sample.RadialMicroChart' ). + text = 'Go to the SAP Demos for Radial Charts here...' + target = '_blank' + href = 'https://sapui5.hana.ondemand.com/#/entity/sap.suite.ui.microchart.RadialMicroChart/sample/sap.suite.ui.microchart.sample.RadialMicroChart' ). grid->vertical_layout( )->horizontal_layout( - )->radial_micro_chart( - size = 'M' - percentage = '45' - press = client->_event( 'RADIAL_PRESS' ) - )->radial_micro_chart( - size = 'S' - percentage = '45' - press = client->_event( 'RADIAL_PRESS' ) + )->radial_micro_chart( size = 'M' + percentage = '45' + press = client->_event( 'RADIAL_PRESS' ) + )->radial_micro_chart( size = 'S' + percentage = '45' + press = client->_event( 'RADIAL_PRESS' ) )->get_parent( )->horizontal_layout( - )->radial_micro_chart( - size = 'M' - percentage = '99.9' - press = client->_event( 'RADIAL_PRESS' ) - valueColor = 'Good' - )->radial_micro_chart( - size = 'S' - percentage = '99.9' - press = client->_event( 'RADIAL_PRESS' ) - valueColor = 'Good' + )->radial_micro_chart( size = 'M' + percentage = '99.9' + press = client->_event( 'RADIAL_PRESS' ) + valueColor = 'Good' + )->radial_micro_chart( size = 'S' + percentage = '99.9' + press = client->_event( 'RADIAL_PRESS' ) + valueColor = 'Good' )->get_parent( )->horizontal_layout( - )->radial_micro_chart( - size = 'M' - percentage = '0' - press = client->_event( 'RADIAL_PRESS' ) - valueColor = 'Error' - )->radial_micro_chart( - size = 'S' - percentage = '0' - press = client->_event( 'RADIAL_PRESS' ) - valueColor = 'Error' + )->radial_micro_chart( size = 'M' + percentage = '0' + press = client->_event( 'RADIAL_PRESS' ) + valueColor = 'Error' + )->radial_micro_chart( size = 'S' + percentage = '0' + press = client->_event( 'RADIAL_PRESS' ) + valueColor = 'Error' )->get_parent( )->horizontal_layout( - )->radial_micro_chart( - size = 'M' - percentage = '0.1' - press = client->_event( 'RADIAL_PRESS' ) - valueColor = 'Critical' - )->radial_micro_chart( - size = 'S' - percentage = '0.1' - press = client->_event( 'RADIAL_PRESS' ) - valueColor = 'Critical' ). + )->radial_micro_chart( size = 'M' + percentage = '0.1' + press = client->_event( 'RADIAL_PRESS' ) + valueColor = 'Critical' + )->radial_micro_chart( size = 'S' + percentage = '0.1' + press = client->_event( 'RADIAL_PRESS' ) + valueColor = 'Critical' ). client->view_display( view->stringify( ) ). ENDMETHOD. - METHOD Z2UI5_if_app~main. me->client = client. @@ -116,4 +104,5 @@ CLASS Z2UI5_CL_DEMO_APP_029 IMPLEMENTATION. ENDCASE. ENDMETHOD. + ENDCLASS. diff --git a/src/z2ui5_cl_demo_app_030.clas.abap b/src/z2ui5_cl_demo_app_030.clas.abap index 951dde1b..bb077fb5 100644 --- a/src/z2ui5_cl_demo_app_030.clas.abap +++ b/src/z2ui5_cl_demo_app_030.clas.abap @@ -1,7 +1,6 @@ -CLASS Z2UI5_CL_DEMO_APP_030 DEFINITION PUBLIC. +CLASS z2ui5_cl_demo_app_030 DEFINITION PUBLIC. PUBLIC SECTION. - INTERFACES Z2UI5_if_app. TYPES: @@ -15,56 +14,56 @@ CLASS Z2UI5_CL_DEMO_APP_030 DEFINITION PUBLIC. END OF ty_row. DATA check_initialized TYPE abap_bool. - DATA t_tab TYPE STANDARD TABLE OF ty_row WITH EMPTY KEY. + DATA t_tab TYPE STANDARD TABLE OF ty_row WITH EMPTY KEY. + PROTECTED SECTION. + PRIVATE SECTION. ENDCLASS. - -CLASS Z2UI5_CL_DEMO_APP_030 IMPLEMENTATION. - +CLASS z2ui5_cl_demo_app_030 IMPLEMENTATION. METHOD Z2UI5_if_app~main. IF check_initialized = abap_false. check_initialized = abap_true. - t_tab = VALUE #( - ( title = 'Peter' info = 'completed' descr = 'this is a description' icon = 'sap-icon://account' ) - ( title = 'Peter' info = 'incompleted' descr = 'this is a description' icon = 'sap-icon://account' ) - ( title = 'Peter' info = 'working' descr = 'this is a description' icon = 'sap-icon://account' ) - ( title = 'Peter' info = 'working' descr = 'this is a description' icon = 'sap-icon://account' ) - ( title = 'Peter' info = 'completed' descr = 'this is a description' icon = 'sap-icon://account' ) - ( title = 'Peter' info = 'completed' descr = 'this is a description' icon = 'sap-icon://account' ) - ( title = 'Peter' info = 'completed' descr = 'this is a description' icon = 'sap-icon://account' ) - ( title = 'Peter' info = 'completed' descr = 'this is a description' icon = 'sap-icon://account' ) - ( title = 'Peter' info = 'completed' descr = 'this is a description' icon = 'sap-icon://account' ) - ( title = 'Peter' info = 'completed' descr = 'this is a description' icon = 'sap-icon://account' ) - ( title = 'Peter' info = 'completed' descr = 'this is a description' icon = 'sap-icon://account' ) - ( title = 'Peter' info = 'completed' descr = 'this is a description' icon = 'sap-icon://account' ) - ( title = 'Peter' info = 'completed' descr = 'this is a description' icon = 'sap-icon://account' ) - ( title = 'Peter' info = 'completed' descr = 'this is a description' icon = 'sap-icon://account' ) - ( title = 'Peter' info = 'completed' descr = 'this is a description' icon = 'sap-icon://account' ) - ( title = 'Peter' info = 'completed' descr = 'this is a description' icon = 'sap-icon://account' ) - ( title = 'Peter' info = 'completed' descr = 'this is a description' icon = 'sap-icon://account' ) - ( title = 'Peter' info = 'completed' descr = 'this is a description' icon = 'sap-icon://account' ) - ( title = 'Peter' info = 'completed' descr = 'this is a description' icon = 'sap-icon://account' ) - ( title = 'Peter' info = 'completed' descr = 'this is a description' icon = 'sap-icon://account' ) - ). + t_tab = VALUE #( title = 'Peter' + descr = 'this is a description' + icon = 'sap-icon://account' + ( info = 'completed' ) + ( info = 'incompleted' ) + ( info = 'working' ) + ( info = 'working' ) + ( info = 'completed' ) + ( info = 'completed' ) + ( info = 'completed' ) + ( info = 'completed' ) + ( info = 'completed' ) + ( info = 'completed' ) + ( info = 'completed' ) + ( info = 'completed' ) + ( info = 'completed' ) + ( info = 'completed' ) + ( info = 'completed' ) + ( info = 'completed' ) + ( info = 'completed' ) + ( info = 'completed' ) + ( info = 'completed' ) + ( info = 'completed' ) ). ENDIF. - CASE client->get( )-event. WHEN 'BUTTON_ROUNDTRIP'. + " TODO: variable is assigned but never used (ABAP cleaner) DATA(lv_dummy) = 'user pressed a button, your custom implementation can be called here'. WHEN 'BUTTON_MSG_BOX'. - client->message_box_display( - text = 'this is a message box with a custom text' - type = 'success' ). + client->message_box_display( text = 'this is a message box with a custom text' + type = 'success' ). WHEN 'BACK'. client->nav_app_leave( ). @@ -73,14 +72,11 @@ CLASS Z2UI5_CL_DEMO_APP_030 IMPLEMENTATION. DATA(view) = z2ui5_cl_xml_view=>factory( ). - - DATA(page) = view->dynamic_page( - showfooter = abap_true - " headerExpanded = abap_true - " toggleHeaderOnTitleClick = client->_event( 'ON_TITLE' ) + DATA(page) = view->dynamic_page( showfooter = abap_true + " headerExpanded = abap_true + " toggleHeaderOnTitleClick = client->_event( 'ON_TITLE' ) ). - DATA(header_title) = page->title( ns = 'f' )->get( )->dynamic_page_title( ). header_title->heading( ns = 'f' )->title( 'Header Title' ). @@ -92,77 +88,83 @@ CLASS Z2UI5_CL_DEMO_APP_030 IMPLEMENTATION. )->label( text = 'this is a subheading' ). header_title->actions( ns = 'f' )->overflow_toolbar( - )->overflow_toolbar_button( - icon = `sap-icon://edit` - text = 'edit header' - type = 'Emphasized' - tooltip = 'edit' - )->overflow_toolbar_button( - icon = `sap-icon://pull-down` - text = 'show section' - type = 'Emphasized' - tooltip = 'pull-down' - )->overflow_toolbar_button( - icon = `sap-icon://show` - text = 'show state' - tooltip = 'show' + )->overflow_toolbar_button( icon = `sap-icon://edit` + text = 'edit header' + type = 'Emphasized' + tooltip = 'edit' + )->overflow_toolbar_button( icon = `sap-icon://pull-down` + text = 'show section' + type = 'Emphasized' + tooltip = 'pull-down' + )->overflow_toolbar_button( icon = `sap-icon://show` + text = 'show state' + tooltip = 'show' )->button( - " icon = `sap-icon://edit` - text = 'Go Back' - press = client->_event( 'BACK' ) + " icon = `sap-icon://edit` + text = 'Go Back' + press = client->_event( 'BACK' ) ). header_title->navigation_actions( - )->button( icon = 'sap-icon://full-screen' type = 'Transparent' - )->button( icon = 'sap-icon://exit-full-screen' type = 'Transparent' - )->button( icon = 'sap-icon://decline' type = 'Transparent' + )->button( icon = 'sap-icon://full-screen' + type = 'Transparent' + )->button( icon = 'sap-icon://exit-full-screen' + type = 'Transparent' + )->button( icon = 'sap-icon://decline' + type = 'Transparent' ). - page->header( )->dynamic_page_header( pinnable = abap_true - )->horizontal_layout( - )->vertical_layout( - )->object_attribute( title = 'Location' text = 'Warehouse A' - )->object_attribute( title = 'Halway' text = '23L' - )->object_attribute( title = 'Rack' text = '34' - )->get_parent( - )->vertical_layout( - )->object_attribute( title = 'Location' text = 'Warehouse A' - )->object_attribute( title = 'Halway' text = '23L' - )->object_attribute( title = 'Rack' text = '34' - )->get_parent( + page->header( )->dynamic_page_header( pinnable = abap_true + )->horizontal_layout( + )->vertical_layout( + )->object_attribute( title = 'Location' + text = 'Warehouse A' + )->object_attribute( title = 'Halway' + text = '23L' + )->object_attribute( title = 'Rack' + text = '34' + )->get_parent( )->vertical_layout( - )->object_attribute( title = 'Location' text = 'Warehouse A' - )->object_attribute( title = 'Halway' text = '23L' - )->object_attribute( title = 'Rack' text = '34' - ). - + )->object_attribute( title = 'Location' + text = 'Warehouse A' + )->object_attribute( title = 'Halway' + text = '23L' + )->object_attribute( title = 'Rack' + text = '34' + )->get_parent( + )->vertical_layout( + )->object_attribute( title = 'Location' + text = 'Warehouse A' + )->object_attribute( title = 'Halway' + text = '23L' + )->object_attribute( title = 'Rack' + text = '34' + ). DATA(cont) = page->content( ns = 'f' ). cont->list( - headertext = 'List Ouput' - items = client->_bind( t_tab ) - )->standard_list_item( - title = '{TITLE}' - description = '{DESCR}' - icon = '{ICON}' - info = '{INFO}' ). - - - page->footer( ns = `f` )->overflow_toolbar( - )->overflow_toolbar_button( - icon = `sap-icon://edit` - text = 'edit header' - type = 'Emphasized' - tooltip = 'edit' - )->overflow_toolbar_button( - icon = `sap-icon://pull-down` - text = 'show section' - type = 'Emphasized' - tooltip = 'pull-down' - ). + " TODO: check spelling: Ouput (typo) -> Output (ABAP cleaner) + headertext = 'List Ouput' + items = client->_bind( t_tab ) + )->standard_list_item( title = '{TITLE}' + description = '{DESCR}' + icon = '{ICON}' + info = '{INFO}' ). + + page->footer( ns = `f` )->overflow_toolbar( + )->overflow_toolbar_button( icon = `sap-icon://edit` + text = 'edit header' + type = 'Emphasized' + tooltip = 'edit' + )->overflow_toolbar_button( icon = `sap-icon://pull-down` + text = 'show section' + type = 'Emphasized' + tooltip = 'pull-down' + ). client->view_display( page->stringify( ) ). ENDMETHOD. + ENDCLASS. diff --git a/src/z2ui5_cl_demo_app_031.clas.abap b/src/z2ui5_cl_demo_app_031.clas.abap index c2277ac9..b0bc4343 100644 --- a/src/z2ui5_cl_demo_app_031.clas.abap +++ b/src/z2ui5_cl_demo_app_031.clas.abap @@ -1,13 +1,11 @@ CLASS z2ui5_cl_demo_app_031 DEFINITION PUBLIC. PUBLIC SECTION. - INTERFACES z2ui5_if_app. - DATA mv_value TYPE string. + DATA mv_value TYPE string. PROTECTED SECTION. - DATA client TYPE REF TO z2ui5_if_client. DATA: BEGIN OF app, @@ -25,10 +23,8 @@ CLASS z2ui5_cl_demo_app_031 DEFINITION PUBLIC. ENDCLASS. - CLASS z2ui5_cl_demo_app_031 IMPLEMENTATION. - METHOD z2ui5_if_app~main. app-get = client->get( ). @@ -51,7 +47,6 @@ CLASS z2ui5_cl_demo_app_031 IMPLEMENTATION. ENDMETHOD. - METHOD z2ui5_on_event. CASE app-get-event. @@ -61,155 +56,158 @@ CLASS z2ui5_cl_demo_app_031 IMPLEMENTATION. WHEN 'POPUP'. app-popup = 'TEST'. WHEN 'DATA'. - client->message_box_display( 'Event raised value:' && mv_value ). + client->message_box_display( |Event raised value:{ mv_value }| ). ENDCASE. ENDMETHOD. - METHOD z2ui5_on_init. - mv_value = '200'. + mv_value = '200'. ENDMETHOD. - METHOD z2ui5_on_render_main. + " TODO: variable is assigned but never used (ABAP cleaner) DATA(view) = z2ui5_cl_xml_view=>factory( ). - DATA(lv_xml) = `` && |\n| && - ` ` && |\n| && - ` `. + " TODO: variable is assigned but never used (ABAP cleaner) + DATA(lo_view) = z2ui5_cl_xml_view=>factory( ). + + DATA(lv_xml) = | | && |\n| && + || && + || && |\n| && + || && |\n| && + |

    This is a heading with css

    | && |\n| && + |

    This is a paragraph with css.

    | && |\n| && + |

    My First JavaScript

    | && |\n| && + || && |\n| && + | | && + || && |\n| && + || && |\n| && + | | && |\n| && + ||. client->view_display( lv_xml ). ENDMETHOD. + ENDCLASS. diff --git a/src/z2ui5_cl_demo_app_033.clas.abap b/src/z2ui5_cl_demo_app_033.clas.abap index 87bdfcec..09de964f 100644 --- a/src/z2ui5_cl_demo_app_033.clas.abap +++ b/src/z2ui5_cl_demo_app_033.clas.abap @@ -1,63 +1,67 @@ CLASS z2ui5_cl_demo_app_033 DEFINITION PUBLIC. PUBLIC SECTION. - INTERFACES z2ui5_if_app. + DATA mv_type TYPE string. METHODS display_view. - DATA mv_html TYPE string. + + DATA mv_html TYPE string. DATA check_initialized TYPE abap_bool. - DATA client TYPE REF TO z2ui5_if_client. + DATA client TYPE REF TO z2ui5_if_client. + PROTECTED SECTION. + PRIVATE SECTION. ENDCLASS. - CLASS z2ui5_cl_demo_app_033 IMPLEMENTATION. - METHOD display_view. DATA(view) = z2ui5_cl_xml_view=>factory( ). DATA(page) = view->shell( - )->page( - title = 'abap2UI5 - Illustrated Messages' - navbuttonpress = client->_event( val = 'BACK' ) - shownavbutton = abap_true + )->page( title = 'abap2UI5 - Illustrated Messages' + navbuttonpress = client->_event( val = 'BACK' ) + shownavbutton = abap_true )->header_content( - )->link( - text = 'Demo' target = '_blank' - href = `https://twitter.com/abap2UI5/status/1647175810917318657` + )->link( text = 'Demo' + target = '_blank' + href = `https://twitter.com/abap2UI5/status/1647175810917318657` )->link( - )->get_parent( ). - page->link( text = 'Documentation' target = '_blank' href = `https://openui5.hana.ondemand.com/api/sap.m.IllustratedMessageType#properties` ). - page->button( text = 'NoActivities' press = client->_event( 'sapIllus-NoActivities' ) ). - page->button( text = 'AddPeople' press = client->_event( 'sapIllus-AddPeople' ) ). - page->button( text = 'Connection' press = client->_event( 'sapIllus-Connection' ) ). - page->button( text = 'NoDimensionsSet' press = client->_event( 'sapIllus-NoDimensionsSet' ) ). - page->button( text = 'NoEntries' press = client->_event( 'sapIllus-NoEntries' ) ). + page->link( text = 'Documentation' + target = '_blank' + href = `https://openui5.hana.ondemand.com/api/sap.m.IllustratedMessageType#properties` ). + page->button( text = 'NoActivities' + press = client->_event( 'sapIllus-NoActivities' ) ). + page->button( text = 'AddPeople' + press = client->_event( 'sapIllus-AddPeople' ) ). + page->button( text = 'Connection' + press = client->_event( 'sapIllus-Connection' ) ). + page->button( text = 'NoDimensionsSet' + press = client->_event( 'sapIllus-NoDimensionsSet' ) ). + page->button( text = 'NoEntries' + press = client->_event( 'sapIllus-NoEntries' ) ). page->illustrated_message( illustrationtype = client->_bind( mv_type ) - )->additional_content( )->button( - text = 'information' - press = client->_event( 'BUTTON_MESSAGE_BOX' ) ). + )->additional_content( )->button( text = 'information' + press = client->_event( 'BUTTON_MESSAGE_BOX' ) ). client->view_display( view->stringify( ) ). ENDMETHOD. - METHOD z2ui5_if_app~main. me->client = client. - mv_html = `

    link: link to sap.com - links open in ` && - `a new window.

    paragraph: strong and emphasized.

    list:

  • list item 1
  • list item 2
    • sub item 1
    • sub item 2
  • pre:

    abc    def    ghi

    code: var el = document.getElementById("myId");

    cite: a reference to a source

    ` && - `
    definition:
    definition list of terms and descriptions
    `. + mv_html = |

    link: link to sap.com - links open in | && + |a new window.

    paragraph: strong and emphasized.

    list:

  • list item 1
  • list item 2
    • sub item 1
    • sub item 2
  • pre:

    abc    def    ghi

    code: var el = document.getElementById("myId");

    cite: a reference to a source

    | && + |
    definition:
    definition list of terms and descriptions
    |. IF check_initialized = abap_false. check_initialized = abap_true. @@ -78,8 +82,8 @@ CLASS z2ui5_cl_demo_app_033 IMPLEMENTATION. ENDCASE. - display_view( ). ENDMETHOD. + ENDCLASS. diff --git a/src/z2ui5_cl_demo_app_034.clas.abap b/src/z2ui5_cl_demo_app_034.clas.abap index 846b1cd3..bd638fda 100644 --- a/src/z2ui5_cl_demo_app_034.clas.abap +++ b/src/z2ui5_cl_demo_app_034.clas.abap @@ -1,58 +1,54 @@ -CLASS Z2UI5_CL_DEMO_APP_034 DEFINITION PUBLIC. +CLASS z2ui5_cl_demo_app_034 DEFINITION PUBLIC. PUBLIC SECTION. - INTERFACES Z2UI5_if_app. - DATA t_bapiret TYPE bapirettab. + DATA t_bapiret TYPE bapirettab. DATA check_initialized TYPE abap_bool. - DATA mv_popup_name TYPE string. - DATA mv_main_xml TYPE string. - DATA mv_popup_xml TYPE string. + DATA mv_popup_name TYPE string. + DATA mv_main_xml TYPE string. + DATA mv_popup_xml TYPE string. METHODS view_main IMPORTING client TYPE REF TO Z2UI5_if_client. + METHODS view_popup_bal IMPORTING client TYPE REF TO Z2UI5_if_client. PROTECTED SECTION. + PRIVATE SECTION. ENDCLASS. - -CLASS Z2UI5_CL_DEMO_APP_034 IMPLEMENTATION. - +CLASS z2ui5_cl_demo_app_034 IMPLEMENTATION. METHOD view_main. DATA(view) = z2ui5_cl_xml_view=>factory( ). - data(page) = view->shell( - )->page( - title = 'abap2UI5 - Popups' - navbuttonpress = client->_event( 'BACK' ) - shownavbutton = xsdbool( client->get( )-s_draft-id_prev_app_stack IS NOT INITIAL ) + DATA(page) = view->shell( + )->page( title = 'abap2UI5 - Popups' + navbuttonpress = client->_event( 'BACK' ) + shownavbutton = xsdbool( client->get( )-s_draft-id_prev_app_stack IS NOT INITIAL ) ). DATA(grid) = page->grid( 'L8 M12 S12' )->content( 'layout' ). grid->simple_form( 'Tables' )->content( 'form' )->label( '01' - )->button( - text = 'Show bapiret tab' - press = client->_event( 'POPUP_BAL' ) + )->button( text = 'Show bapiret tab' + press = client->_event( 'POPUP_BAL' ) ). mv_main_xml = page->get_root( )->xml_get( ). ENDMETHOD. - METHOD view_popup_bal. - DATA(popup) = Z2UI5_CL_XML_VIEW=>factory_popup( + DATA(popup) = z2ui5_cl_xml_view=>factory_popup( )->dialog( 'abap2ui5 - Popup Message Log' )->table( client->_bind( t_bapiret ) )->columns( @@ -75,28 +71,26 @@ CLASS Z2UI5_CL_DEMO_APP_034 IMPLEMENTATION. )->get_parent( )->get_parent( )->get_parent( )->get_parent( )->footer( )->overflow_toolbar( )->toolbar_spacer( - )->button( - text = 'close' - press = client->_event( 'POPUP_BAL_CLOSE' ) - type = 'Emphasized' ). + )->button( text = 'close' + press = client->_event( 'POPUP_BAL_CLOSE' ) + type = 'Emphasized' ). mv_popup_xml = popup->get_root( )->xml_get( ). ENDMETHOD. - METHOD Z2UI5_if_app~main. IF check_initialized = abap_false. check_initialized = abap_true. t_bapiret = VALUE #( - ( message = 'An empty Report field causes an empty XML Message to be sent' type = 'E' id = 'MSG1' number = '001' ) - ( message = 'Check was executed for wrong Scenario' type = 'E' id = 'MSG1' number = '002' ) - ( message = 'Request was handled without errors' type = 'S' id = 'MSG1' number = '003' ) - ( message = 'product activated' type = 'S' id = 'MSG4' number = '375' ) - ( message = 'check the input values' type = 'W' id = 'MSG2' number = '375' ) - ( message = 'product already in use' type = 'I' id = 'MSG2' number = '375' ) + ( message = 'An empty Report field causes an empty XML Message to be sent' type = 'E' id = 'MSG1' number = '001' ) + ( message = 'Check was executed for wrong Scenario' type = 'E' id = 'MSG1' number = '002' ) + ( message = 'Request was handled without errors' type = 'S' id = 'MSG1' number = '003' ) + ( message = 'product activated' type = 'S' id = 'MSG4' number = '375' ) + ( message = 'check the input values' type = 'W' id = 'MSG2' number = '375' ) + ( message = 'product already in use' type = 'I' id = 'MSG2' number = '375' ) ). ENDIF. @@ -106,7 +100,7 @@ CLASS Z2UI5_CL_DEMO_APP_034 IMPLEMENTATION. CASE client->get( )-event. WHEN 'POPUP_BAL'. - mv_popup_name = 'POPUP_BAL'. + mv_popup_name = 'POPUP_BAL'. WHEN 'BACK'. client->nav_app_leave( ). @@ -122,6 +116,8 @@ CLASS Z2UI5_CL_DEMO_APP_034 IMPLEMENTATION. client->view_display( mv_main_xml ). client->popup_display( mv_popup_xml ). - CLEAR: mv_main_xml, mv_popup_xml. + CLEAR: mv_main_xml, + mv_popup_xml. ENDMETHOD. + ENDCLASS. diff --git a/src/z2ui5_cl_demo_app_035.clas.abap b/src/z2ui5_cl_demo_app_035.clas.abap index 83b0e78c..aee96256 100644 --- a/src/z2ui5_cl_demo_app_035.clas.abap +++ b/src/z2ui5_cl_demo_app_035.clas.abap @@ -20,35 +20,39 @@ ENDCLASS. CLASS z2ui5_cl_demo_app_035 IMPLEMENTATION. + METHOD view_display. DATA(view) = z2ui5_cl_xml_view=>factory( ). - DATA(page) = view->shell( )->page( title = 'abap2UI5 - File Editor' - navbuttonpress = client->_event( 'BACK' ) - shownavbutton = xsdbool( client->get( )-s_draft-id_prev_app_stack IS NOT INITIAL ) + DATA(page) = view->shell( )->page( + title = 'abap2UI5 - File Editor' + navbuttonpress = client->_event( 'BACK' ) + shownavbutton = xsdbool( client->get( )-s_draft-id_prev_app_stack IS NOT INITIAL ) ). - data(temp) = page->simple_form( title = 'File' editable = abap_true )->content( `form` - )->label( 'path' - )->input( client->_bind_edit( mv_path ) - )->label( 'Option' ). + DATA(temp) = page->simple_form( title = 'File' + editable = abap_true )->content( `form` + )->label( 'path' + )->input( client->_bind_edit( mv_path ) + )->label( 'Option' ). - data(lt_types) = VALUE z2ui5_if_types=>ty_t_name_value( ). - lt_types = value #( FOR row IN z2ui5_cl_util=>source_get_file_types( ) ( - n = shift_right( shift_left( row ) ) - v = shift_right( shift_left( row ) ) ) ). + DATA(lt_types) = VALUE z2ui5_if_types=>ty_t_name_value( ). + lt_types = VALUE #( FOR row IN z2ui5_cl_util=>source_get_file_types( ) + ( n = shift_right( shift_left( row ) ) + v = shift_right( shift_left( row ) ) ) ). - data(temp3) = temp->input( value = client->_bind_edit( mv_type ) - suggestionitems = client->_bind_local( lt_types ) + DATA(temp3) = temp->input( value = client->_bind_edit( mv_type ) + suggestionitems = client->_bind_local( lt_types ) )->get( ). - temp3->suggestion_items( - )->list_item( text = '{N}' additionaltext = '{V}' ). + temp3->suggestion_items( + )->list_item( text = '{N}' + additionaltext = '{V}' ). temp->label( '' )->button( text = 'Download' - press = client->_event( 'DB_LOAD' ) - icon = 'sap-icon://download-from-cloud' ). + press = client->_event( 'DB_LOAD' ) + icon = 'sap-icon://download-from-cloud' ). page->code_editor( type = mv_type editable = mv_check_editable @@ -92,12 +96,15 @@ CLASS z2ui5_cl_demo_app_035 IMPLEMENTATION. WHEN mv_path CS 'text' THEN lcl_file_api=>read_text( ) WHEN mv_path CS 'js' THEN lcl_file_api=>read_js( ) ). + " TODO: check spelling: successfull (typo) -> successful (ABAP cleaner) client->message_toast_display( 'Download successfull' ). client->view_model_update( ). WHEN 'DB_SAVE'. - client->message_box_display( text = 'Upload successfull. File saved!' type = 'success' ). + " TODO: check spelling: successfull (typo) -> successful (ABAP cleaner) + client->message_box_display( text = 'Upload successfull. File saved!' + type = 'success' ). WHEN 'EDIT'. mv_check_editable = xsdbool( mv_check_editable = abap_false ). WHEN 'CLEAR'. @@ -106,4 +113,5 @@ CLASS z2ui5_cl_demo_app_035 IMPLEMENTATION. client->nav_app_leave( ). ENDCASE. ENDMETHOD. + ENDCLASS. diff --git a/src/z2ui5_cl_demo_app_035.clas.locals_imp.abap b/src/z2ui5_cl_demo_app_035.clas.locals_imp.abap index 3cdaec25..f98bdc36 100644 --- a/src/z2ui5_cl_demo_app_035.clas.locals_imp.abap +++ b/src/z2ui5_cl_demo_app_035.clas.locals_imp.abap @@ -1,19 +1,22 @@ CLASS lcl_file_api DEFINITION FINAL. PUBLIC SECTION. - CLASS-METHODS read_abap RETURNING VALUE(r_result) TYPE string. + CLASS-METHODS read_json RETURNING VALUE(r_result) TYPE string. + CLASS-METHODS read_js RETURNING VALUE(r_result) TYPE string. + CLASS-METHODS read_yaml RETURNING VALUE(r_result) TYPE string. + CLASS-METHODS read_text RETURNING VALUE(r_result) TYPE string. @@ -31,135 +34,131 @@ CLASS lcl_file_api DEFINITION FINAL. ENDCLASS. -CLASS lcl_file_api IMPLEMENTATION. +CLASS lcl_file_api IMPLEMENTATION. METHOD read_abap. -r_result = `METHOD SELECT_FILES.` && |\n| && - |\n| && - ` DATA: LV_RET_CODE TYPE I,` && |\n| && - ` LV_USR_AXN TYPE I.` && |\n| && - |\n| && - ` CL_GUI_FRONTEND_SERVICES=>FILE_OPEN_DIALOG(` && |\n| && - ` EXPORTING` && |\n| && - ` WINDOW_TITLE = 'Select file'` && |\n| && - ` MULTISELECTION = 'X'` && |\n| && - ` CHANGING` && |\n| && - ` FILE_TABLE = ME->PT_FILETAB` && |\n| && - ` RC = LV_RET_CODE` && |\n| && - ` USER_ACTION = LV_USR_AXN` && |\n| && - ` EXCEPTIONS` && |\n| && - ` FILE_OPEN_DIALOG_FAILED = 1` && |\n| && - ` CNTL_ERROR = 2` && |\n| && - ` ERROR_NO_GUI = 3` && |\n| && - ` NOT_SUPPORTED_BY_GUI = 4` && |\n| && - ` OTHERS = 5` && |\n| && - ` ).` && |\n| && - ` IF SY-SUBRC <> 0 OR` && |\n| && - ` LV_USR_AXN = CL_GUI_FRONTEND_SERVICES=>ACTION_CANCEL.` && |\n| && - ` RAISE EX_FILE_SEL_ERR.` && |\n| && - ` ENDIF.` && |\n| && - |\n| && - ` ENDMETHOD. `. + r_result = |METHOD SELECT_FILES.| && |\n| && + |\n| && + | DATA: LV_RET_CODE TYPE I,| && |\n| && + | LV_USR_AXN TYPE I.| && |\n| && + |\n| && + | CL_GUI_FRONTEND_SERVICES=>FILE_OPEN_DIALOG(| && |\n| && + | EXPORTING| && |\n| && + | WINDOW_TITLE = 'Select file'| && |\n| && + | MULTISELECTION = 'X'| && |\n| && + | CHANGING| && |\n| && + | FILE_TABLE = ME->PT_FILETAB| && |\n| && + | RC = LV_RET_CODE| && |\n| && + | USER_ACTION = LV_USR_AXN| && |\n| && + | EXCEPTIONS| && |\n| && + | FILE_OPEN_DIALOG_FAILED = 1| && |\n| && + | CNTL_ERROR = 2| && |\n| && + | ERROR_NO_GUI = 3| && |\n| && + | NOT_SUPPORTED_BY_GUI = 4| && |\n| && + | OTHERS = 5| && |\n| && + | ).| && |\n| && + | IF SY-SUBRC <> 0 OR| && |\n| && + | LV_USR_AXN = CL_GUI_FRONTEND_SERVICES=>ACTION_CANCEL.| && |\n| && + | RAISE EX_FILE_SEL_ERR.| && |\n| && + | ENDIF.| && |\n| && + |\n| && + | ENDMETHOD. |. ENDMETHOD. - METHOD read_json. - r_result = `{` && |\n| && - ` "quiz": {` && |\n| && - ` "sport": {` && |\n| && - ` "q1": {` && |\n| && - ` "test" : false,` && |\n| && - ` "question": "Which one is correct team name in NBA?",` && |\n| && - ` "options": [` && |\n| && - ` "New York Bulls",` && |\n| && - ` "Los Angeles Kings",` && |\n| && - ` "Golden State Warriros",` && |\n| && - ` "Huston Rocket"` && |\n| && - ` ],` && |\n| && - ` "answer": "Huston Rocket"` && |\n| && - ` }` && |\n| && - ` },` && |\n| && - ` "maths": {` && |\n| && - ` "q1": {` && |\n| && - ` "question": "5 + 7 = ?",` && |\n| && - ` "options": [` && |\n| && - ` "10",` && |\n| && - ` "11",` && |\n| && - ` "12",` && |\n| && - ` "13"` && |\n| && - ` ],` && |\n| && - ` "answer": "12"` && |\n| && - ` },` && |\n| && - ` "q2": {` && |\n| && - ` "question": true,` && |\n| && - ` "options": [` && |\n| && - ` "1",` && |\n| && - ` "2",` && |\n| && - ` "3",` && |\n| && - ` "4"` && |\n| && - ` ],` && |\n| && - ` "answer": 487829` && |\n| && - ` }` && |\n| && - ` }` && |\n| && - ` }` && |\n| && - `}`. + r_result = |\{| && |\n| && + | "quiz": \{| && |\n| && + | "sport": \{| && |\n| && + | "q1": \{| && |\n| && + | "test" : false,| && |\n| && + | "question": "Which one is correct team name in NBA?",| && |\n| && + | "options": [| && |\n| && + | "New York Bulls",| && |\n| && + | "Los Angeles Kings",| && |\n| && + | "Golden State Warriros",| && |\n| && + | "Huston Rocket"| && |\n| && + | ],| && |\n| && + | "answer": "Huston Rocket"| && |\n| && + | \}| && |\n| && + | \},| && |\n| && + | "maths": \{| && |\n| && + | "q1": \{| && |\n| && + | "question": "5 + 7 = ?",| && |\n| && + | "options": [| && |\n| && + | "10",| && |\n| && + | "11",| && |\n| && + | "12",| && |\n| && + | "13"| && |\n| && + | ],| && |\n| && + | "answer": "12"| && |\n| && + | \},| && |\n| && + | "q2": \{| && |\n| && + | "question": true,| && |\n| && + | "options": [| && |\n| && + | "1",| && |\n| && + | "2",| && |\n| && + | "3",| && |\n| && + | "4"| && |\n| && + | ],| && |\n| && + | "answer": 487829| && |\n| && + | \}| && |\n| && + | \}| && |\n| && + | \}| && |\n| && + |\}|. ENDMETHOD. - METHOD read_js. - r_result = `function showAlert() {` && |\n| && - ` alert("Alert from JS file");` && |\n| && - `}` && |\n| && + r_result = |function showAlert() \{| && |\n| && + | alert("Alert from JS file");| && |\n| && + |\}| && |\n| && |\n| && - `function updateHeading() {` && |\n| && - ` document.getElementById('heading').innerHTML = 'Heading changed with JS';` && |\n| && - `}`. + |function updateHeading() \{| && |\n| && + | document.getElementById('heading').innerHTML = 'Heading changed with JS';| && |\n| && + |\}|. ENDMETHOD. - METHOD read_yaml. - r_result = `# Employee records` && |\n| && - `- martin:` && |\n| && - ` name: Martin Developer` && |\n| && - ` job: Developer` && |\n| && - ` skills:` && |\n| && - ` - python` && |\n| && - ` - perl` && |\n| && - ` - pascal` && |\n| && - `- tabitha:` && |\n| && - ` name: Tabitha Bitumen` && |\n| && - ` job: Developer` && |\n| && - ` skills:` && |\n| && - ` - lisp` && |\n| && - ` - fortran` && |\n| && - ` - erlang`. + r_result = |# Employee records| && |\n| && + |- martin:| && |\n| && + | name: Martin Developer| && |\n| && + | job: Developer| && |\n| && + | skills:| && |\n| && + | - python| && |\n| && + | - perl| && |\n| && + | - pascal| && |\n| && + |- tabitha:| && |\n| && + | name: Tabitha Bitumen| && |\n| && + | job: Developer| && |\n| && + | skills:| && |\n| && + | - lisp| && |\n| && + | - fortran| && |\n| && + | - erlang|. ENDMETHOD. - METHOD read_text. - r_result = `TXT test file` && |\n| && - `Purpose: Provide example of this file type` && |\n| && - `Document file type: TXT` && |\n| && - `Version: 1.0` && |\n| && - `Remark:` && |\n| && + r_result = |TXT test file| && |\n| && + |Purpose: Provide example of this file type| && |\n| && + |Document file type: TXT| && |\n| && + |Version: 1.0| && |\n| && + |Remark:| && |\n| && |\n| && - `Example content:` && |\n| && - `The names "John Doe" for males, "Jane Doe" or "Jane Roe" for females, or "Jonnie Doe" and "Janie Doe" for children, or just "Doe" non-gender-specifically are used as placeholder names for a party whose true identity is unknown or mus` && -`t be withheld in a legal action, case, or discussion. The names are also used to refer to acorpse or hospital patient whose identity is unknown. This practice is widely used in the United States and Canada, but is rarely used in other English-speak` && -`ing countries including the United Kingdom itself, from where the use of "John Doe" in a legal context originates. The names Joe Bloggs or John Smith are used in the UK instead, as well as in Australia and New Zealand.` && |\n| && + |Example content:| && |\n| && + |The names "John Doe" for males, "Jane Doe" or "Jane Roe" for females, or "Jonnie Doe" and "Janie Doe" for children, or just "Doe" non-gender-specifically are used as placeholder names for a party whose true identity is unknown or mus| && +|t be withheld in a legal action, case, or discussion. The names are also used to refer to acorpse or hospital patient whose identity is unknown. This practice is widely used in the United States and Canada, but is rarely used in other English-speak| && +|ing countries including the United Kingdom itself, from where the use of "John Doe" in a legal context originates. The names Joe Bloggs or John Smith are used in the UK instead, as well as in Australia and New Zealand.| && |\n| && |\n| && - `John Doe is sometimes used to refer to a typical male in other contexts as well, in a similar manner to John Q. Public, known in Great Britain as Joe Public, John Smith or Joe Bloggs. For example, the first name listed on a form is o` && -`ften John Doe, along with a fictional address or other fictional information to provide an example of how to fill in the form. The name is also used frequently in popular culture, for example in the Frank Capra film Meet John Doe. John Doe was also` && -` the name of a 2002 American television series.`. + |John Doe is sometimes used to refer to a typical male in other contexts as well, in a similar manner to John Q. Public, known in Great Britain as Joe Public, John Smith or Joe Bloggs. For example, the first name listed on a form is o| && +|ften John Doe, along with a fictional address or other fictional information to provide an example of how to fill in the form. The name is also used frequently in popular culture, for example in the Frank Capra film Meet John Doe. John Doe was also| && +| the name of a 2002 American television series.|. ENDMETHOD. ENDCLASS. diff --git a/src/z2ui5_cl_demo_app_036.clas.abap b/src/z2ui5_cl_demo_app_036.clas.abap index d270e3b6..0766bf10 100644 --- a/src/z2ui5_cl_demo_app_036.clas.abap +++ b/src/z2ui5_cl_demo_app_036.clas.abap @@ -1,13 +1,11 @@ -CLASS Z2UI5_CL_DEMO_APP_036 DEFINITION PUBLIC. +CLASS z2ui5_cl_demo_app_036 DEFINITION PUBLIC. PUBLIC SECTION. - INTERFACES Z2UI5_if_app. DATA mv_value TYPE string. PROTECTED SECTION. - DATA client TYPE REF TO Z2UI5_if_client. DATA: BEGIN OF app, @@ -25,14 +23,12 @@ CLASS Z2UI5_CL_DEMO_APP_036 DEFINITION PUBLIC. ENDCLASS. - -CLASS Z2UI5_CL_DEMO_APP_036 IMPLEMENTATION. - +CLASS z2ui5_cl_demo_app_036 IMPLEMENTATION. METHOD Z2UI5_if_app~main. me->client = client. - app-get = client->get( ). + app-get = client->get( ). app-view_popup = ``. IF app-check_initialized = abap_false. @@ -50,7 +46,6 @@ CLASS Z2UI5_CL_DEMO_APP_036 IMPLEMENTATION. ENDMETHOD. - METHOD Z2UI5_on_event. CASE app-get-event. @@ -59,7 +54,7 @@ CLASS Z2UI5_CL_DEMO_APP_036 IMPLEMENTATION. client->message_toast_display( app-get-t_event_arg[ 1 ] ). WHEN 'MYCC'. - client->message_toast_display( 'MYCC event ' && mv_value ). + client->message_toast_display( |MYCC event{ mv_value }| ). WHEN 'BACK'. client->nav_app_leave( client->get_app( app-get-s_draft-id_prev_app_stack ) ). @@ -68,7 +63,6 @@ CLASS Z2UI5_CL_DEMO_APP_036 IMPLEMENTATION. ENDMETHOD. - METHOD Z2UI5_on_init. app-view_main = 'VIEW_MAIN'. @@ -76,65 +70,66 @@ CLASS Z2UI5_CL_DEMO_APP_036 IMPLEMENTATION. ENDMETHOD. - METHOD Z2UI5_on_render. - data(view) = z2ui5_cl_xml_view=>factory( ). - data(lv_xml) = ` ` && |\n| && - `` && - `` && |\n| && - `` && |\n| && - `

    This is a heading with css

    ` && |\n| && - `

    This is a paragraph with css.

    ` && |\n| && - `

    My First JavaScript

    ` && |\n| && - `` && |\n| && - `` && |\n| && - `

    This is SVG

    ` && |\n| && - ` ` && |\n| && - ` ` && |\n| && - ` ` && |\n| && - `
    X:

    This is canvas

    ` && |\n| && - ` ` && + " TODO: variable is assigned but never used (ABAP cleaner) + DATA(view) = z2ui5_cl_xml_view=>factory( ). + DATA(lv_xml) = | | && |\n| && + || && + || && |\n| && + || && |\n| && + |

    This is a heading with css

    | && |\n| && + |

    This is a paragraph with css.

    | && |\n| && + |

    My First JavaScript

    | && |\n| && + || && |\n| && + || && |\n| && + |

    This is SVG

    | && |\n| && + | | && |\n| && + | | && |\n| && + | | && |\n| && + |
    X:

    This is canvas

    | && |\n| && + | | && * ` ` && |\n| && - `` && |\n| && - ` ` && |\n| && - ``. + || && |\n| && + | | && |\n| && + ||. client->view_display( lv_xml ). ENDMETHOD. + ENDCLASS. diff --git a/src/z2ui5_cl_demo_app_037.clas.abap b/src/z2ui5_cl_demo_app_037.clas.abap index d4a6ea20..bc0d9774 100644 --- a/src/z2ui5_cl_demo_app_037.clas.abap +++ b/src/z2ui5_cl_demo_app_037.clas.abap @@ -1,18 +1,16 @@ CLASS z2ui5_cl_demo_app_037 DEFINITION PUBLIC. PUBLIC SECTION. - INTERFACES z2ui5_if_app. DATA mv_value TYPE string. PROTECTED SECTION. - - DATA client TYPE REF TO z2ui5_if_client. + DATA client TYPE REF TO z2ui5_if_client. DATA check_initialized TYPE abap_bool. - DATA mv_load_cc TYPE abap_bool. - DATA mv_display_cc TYPE abap_bool. + DATA mv_load_cc TYPE abap_bool. + DATA mv_display_cc TYPE abap_bool. METHODS get_js_custom_control RETURNING @@ -26,51 +24,48 @@ CLASS z2ui5_cl_demo_app_037 DEFINITION PUBLIC. ENDCLASS. - CLASS z2ui5_cl_demo_app_037 IMPLEMENTATION. - METHOD get_js_custom_control. - result = `jQuery.sap.declare("z2ui5.MyCC");` && |\n| && - ` sap.ui.require( [` && |\n| && - ` "sap/ui/core/Control",` && |\n| && - ` ], function (Control) {` && |\n| && - ` "use strict";` && |\n| && - ` return Control.extend("z2ui5.MyCC", {` && |\n| && - ` metadata: {` && |\n| && - ` properties: {` && |\n| && - ` value: { type: "string" }` && |\n| && - ` },` && |\n| && - ` events: {` && |\n| && - ` "change": {` && |\n| && - ` allowPreventDefault: true,` && |\n| && - ` parameters: {}` && |\n| && - ` }` && |\n| && - ` }` && |\n| && - ` },` && |\n| && - ` renderer: function (oRm, oControl) {` && |\n| && - ` oControl.oInput = new sap.m.Input({` && |\n| && - ` value: oControl.getProperty("value")` && |\n| && - ` });` && |\n| && - ` oControl.oButton = new sap.m.Button({` && |\n| && - ` text: 'button text',` && |\n| && - ` press: function (oEvent) {` && |\n| && - ` debugger;` && |\n| && + result = |jQuery.sap.declare("z2ui5.MyCC");| && |\n| && + | sap.ui.require( [| && |\n| && + | "sap/ui/core/Control",| && |\n| && + | ], function (Control) \{| && |\n| && + | "use strict";| && |\n| && + | return Control.extend("z2ui5.MyCC", \{| && |\n| && + | metadata: \{| && |\n| && + | properties: \{| && |\n| && + | value: \{ type: "string" \}| && |\n| && + | \},| && |\n| && + | events: \{| && |\n| && + | "change": \{| && |\n| && + | allowPreventDefault: true,| && |\n| && + | parameters: \{\}| && |\n| && + | \}| && |\n| && + | \}| && |\n| && + | \},| && |\n| && + | renderer: function (oRm, oControl) \{| && |\n| && + | oControl.oInput = new sap.m.Input(\{| && |\n| && + | value: oControl.getProperty("value")| && |\n| && + | \});| && |\n| && + | oControl.oButton = new sap.m.Button(\{| && |\n| && + | text: 'button text',| && |\n| && + | press: function (oEvent) \{| && |\n| && + | debugger;| && |\n| && * ` this.setProperty("value", this.oInput._sTypedInValue )` && |\n| && - ` this.setProperty("value", this.oInput.getProperty( 'value') )` && |\n| && - ` this.fireChange();` && |\n| && - ` }.bind(oControl)` && |\n| && - ` });` && |\n| && - ` oRm.renderControl(oControl.oInput);` && |\n| && - ` oRm.renderControl(oControl.oButton);` && |\n| && - ` }` && |\n| && - ` });` && |\n| && - `}); jQuery.sap.require("z2ui5.MyCC"); `. + | this.setProperty("value", this.oInput.getProperty( 'value') )| && |\n| && + | this.fireChange();| && |\n| && + | \}.bind(oControl)| && |\n| && + | \});| && |\n| && + | oRm.renderControl(oControl.oInput);| && |\n| && + | oRm.renderControl(oControl.oButton);| && |\n| && + | \}| && |\n| && + | \});| && |\n| && + |\}); jQuery.sap.require("z2ui5.MyCC"); |. ENDMETHOD. - METHOD z2ui5_if_app~main. me->client = client. @@ -84,19 +79,17 @@ CLASS z2ui5_cl_demo_app_037 IMPLEMENTATION. ENDMETHOD. - METHOD z2ui5_load_cc. client->view_display( z2ui5_cl_xml_view=>factory( - )->_generic( ns = `html` name = `script` )->_cc_plain_xml( get_js_custom_control( ) - )->_z2ui5( )->timer( - finished = client->_event( 'DISPLAY_VIEW' ) - delayms = `0` + )->_generic( ns = `html` + name = `script` )->_cc_plain_xml( get_js_custom_control( ) + )->_z2ui5( )->timer( finished = client->_event( 'DISPLAY_VIEW' ) + delayms = `0` )->stringify( ) ). ENDMETHOD. - METHOD z2ui5_on_event. CASE client->get( )-event. @@ -118,7 +111,7 @@ CLASS z2ui5_cl_demo_app_037 IMPLEMENTATION. client->message_box_display( 'Custom Control displayed ' ). WHEN 'MYCC'. - client->message_toast_display( `Custom Control input: ` && mv_value ). + client->message_toast_display( |Custom Control input: { mv_value }| ). WHEN 'BACK'. client->nav_app_leave( ). @@ -127,32 +120,33 @@ CLASS z2ui5_cl_demo_app_037 IMPLEMENTATION. ENDMETHOD. - METHOD z2ui5_on_render. + " TODO: variable is assigned but never used (ABAP cleaner) DATA(view) = z2ui5_cl_xml_view=>factory( ). - DATA(lv_xml) = ` ` && |\n| && - `` && |\n| && - `` && |\n| && - ` ` && - `` && |\n| && - ``. + DATA(lv_xml) = | | && |\n| && + || && |\n| && + || && |\n| && + | | && + || && |\n| && + ||. IF mv_display_cc = abap_true. - lv_xml = lv_xml && ` `. + lv_xml = |{ lv_xml } |. ENDIF. - lv_xml = lv_xml && `` && |\n| && - ` ` && |\n| && - ``. + lv_xml = |{ lv_xml }| && |\n| && + | | && |\n| && + ||. client->view_display( lv_xml ). ENDMETHOD. + ENDCLASS. diff --git a/src/z2ui5_cl_demo_app_038.clas.abap b/src/z2ui5_cl_demo_app_038.clas.abap index 4297caaa..8fa3360b 100644 --- a/src/z2ui5_cl_demo_app_038.clas.abap +++ b/src/z2ui5_cl_demo_app_038.clas.abap @@ -1,7 +1,6 @@ CLASS z2ui5_cl_demo_app_038 DEFINITION PUBLIC. PUBLIC SECTION. - INTERFACES z2ui5_if_app. TYPES: @@ -13,93 +12,83 @@ CLASS z2ui5_cl_demo_app_038 DEFINITION PUBLIC. group TYPE string, END OF ty_msg. - DATA t_msg TYPE STANDARD TABLE OF ty_msg WITH EMPTY KEY. + DATA t_msg TYPE STANDARD TABLE OF ty_msg WITH EMPTY KEY. DATA check_initialized TYPE abap_bool. METHODS z2ui5_display_view. METHODS z2ui5_display_popup. + METHODS z2ui5_display_popover IMPORTING id TYPE string. PROTECTED SECTION. - DATA client TYPE REF TO z2ui5_if_client. PRIVATE SECTION. ENDCLASS. - -CLASS Z2UI5_CL_DEMO_APP_038 IMPLEMENTATION. - +CLASS z2ui5_cl_demo_app_038 IMPLEMENTATION. METHOD z2ui5_display_popover. DATA(popup) = z2ui5_cl_xml_view=>factory_popup( ). - popup->message_popover( - items = client->_bind( t_msg ) - groupitems = abap_true - placement = `Top` - initiallyexpanded = abap_true - beforeclose = client->_event( val = 'POPOVER_CLOSE' ) - )->message_item( - type = `{TYPE}` - title = `{TITLE}` - subtitle = `{SUBTITLE}` - description = `{DESCRIPTION}` - groupname = `{GROUP}` ). - - client->popover_display( xml = popup->stringify( ) by_id = id ). + popup->message_popover( items = client->_bind( t_msg ) + groupitems = abap_true + placement = `Top` + initiallyexpanded = abap_true + beforeclose = client->_event( val = 'POPOVER_CLOSE' ) + )->message_item( type = `{TYPE}` + title = `{TITLE}` + subtitle = `{SUBTITLE}` + description = `{DESCRIPTION}` + groupname = `{GROUP}` ). - ENDMETHOD. + client->popover_display( xml = popup->stringify( ) + by_id = id ). + ENDMETHOD. METHOD z2ui5_display_popup. DATA(popup) = z2ui5_cl_xml_view=>factory_popup( ). - popup = popup->dialog( - title = `Messages` - contentheight = '50%' - contentwidth = '50%' ). - - popup->message_view( - items = client->_bind( t_msg - ) - groupitems = abap_true - )->message_item( - type = `{TYPE}` - title = `{TITLE}` - subtitle = `{SUBTITLE}` - description = `{DESCRIPTION}` - groupname = `{GROUP}` ). + popup = popup->dialog( title = `Messages` + contentheight = '50%' + contentwidth = '50%' ). + + popup->message_view( items = client->_bind( t_msg + ) + groupitems = abap_true + )->message_item( type = `{TYPE}` + title = `{TITLE}` + subtitle = `{SUBTITLE}` + description = `{DESCRIPTION}` + groupname = `{GROUP}` ). popup->footer( )->overflow_toolbar( )->toolbar_spacer( - )->button( - id = `test2` - text = 'test' - press = client->_event( `TEST` ) - )->button( - text = 'close' - press = client->_event_client( client->cs_event-popup_close ) ). + )->button( id = `test2` + text = 'test' + press = client->_event( `TEST` ) + )->button( text = 'close' + press = client->_event_client( client->cs_event-popup_close ) ). client->popup_display( popup->stringify( ) ). ENDMETHOD. - METHOD z2ui5_display_view. DATA(view) = z2ui5_cl_xml_view=>factory( ). - view->_generic( ns = `html` name = `style` )->_cc_plain_xml( `.sapMDialogScroll { height:100%; }` ). + view->_generic( ns = `html` + name = `style` )->_cc_plain_xml( `.sapMDialogScroll { height:100%; }` ). DATA(page) = view->shell( - )->page( - title = 'abap2UI5 - List' - navbuttonpress = client->_event( val = 'BACK' ) - shownavbutton = abap_true ). + )->page( title = 'abap2UI5 - List' + navbuttonpress = client->_event( val = 'BACK' ) + shownavbutton = abap_true ). * )->header_content( * )->link( * text = 'Demo' target = '_blank' @@ -108,34 +97,30 @@ CLASS Z2UI5_CL_DEMO_APP_038 IMPLEMENTATION. * * * )->get_parent( ). - page->button( text = 'Messages in Popup' press = client->_event( 'POPUP' ) ). - page->message_view( - items = client->_bind( t_msg ) - groupitems = abap_true - )->message_item( - type = `{TYPE}` - title = `{TITLE}` - subtitle = `{SUBTITLE}` - description = `{DESCRIPTION}` - groupname = `{GROUP}` ). + page->button( text = 'Messages in Popup' + press = client->_event( 'POPUP' ) ). + page->message_view( items = client->_bind( t_msg ) + groupitems = abap_true + )->message_item( type = `{TYPE}` + title = `{TITLE}` + subtitle = `{SUBTITLE}` + description = `{DESCRIPTION}` + groupname = `{GROUP}` ). page->footer( )->overflow_toolbar( - )->button( - id = 'test' - text = 'Messages (6)' - press = client->_event( 'POPOVER' ) - type = 'Emphasized' + )->button( id = 'test' + text = 'Messages (6)' + press = client->_event( 'POPOVER' ) + type = 'Emphasized' )->toolbar_spacer( - )->button( - text = 'Send to Server' - press = client->_event( 'BUTTON_SEND' ) - type = 'Success' ). + )->button( text = 'Send to Server' + press = client->_event( 'BUTTON_SEND' ) + type = 'Success' ). client->view_display( view->stringify( ) ). ENDMETHOD. - METHOD z2ui5_if_app~main. me->client = client. @@ -143,11 +128,13 @@ CLASS Z2UI5_CL_DEMO_APP_038 IMPLEMENTATION. IF check_initialized = abap_false. check_initialized = abap_true. - t_msg = VALUE #( - ( description = 'descr' subtitle = 'subtitle' title = 'title' type = 'Error' group = 'group 01' ) - ( description = 'descr' subtitle = 'subtitle' title = 'title' type = 'Information' group = 'group 01' ) - ( description = 'descr' subtitle = 'subtitle' title = 'title' type = 'Information' group = 'group 02' ) - ( description = 'descr' subtitle = 'subtitle' title = 'title' type = 'Success' group = 'group 03' ) ). + t_msg = VALUE #( description = 'descr' + subtitle = 'subtitle' + title = 'title' + ( type = 'Error' group = 'group 01' ) + ( type = 'Information' group = 'group 01' ) + ( type = 'Information' group = 'group 02' ) + ( type = 'Success' group = 'group 03' ) ). z2ui5_display_view( ). @@ -167,4 +154,5 @@ CLASS Z2UI5_CL_DEMO_APP_038 IMPLEMENTATION. ENDCASE. ENDMETHOD. + ENDCLASS. diff --git a/src/z2ui5_cl_demo_app_039.clas.abap b/src/z2ui5_cl_demo_app_039.clas.abap index 82626416..7f54c82a 100644 --- a/src/z2ui5_cl_demo_app_039.clas.abap +++ b/src/z2ui5_cl_demo_app_039.clas.abap @@ -1,13 +1,11 @@ -CLASS Z2UI5_CL_DEMO_APP_039 DEFINITION PUBLIC. +CLASS z2ui5_cl_demo_app_039 DEFINITION PUBLIC. PUBLIC SECTION. - INTERFACES Z2UI5_if_app. - DATA mv_value TYPE string. + DATA mv_value TYPE string. PROTECTED SECTION. - DATA client TYPE REF TO Z2UI5_if_client. DATA: BEGIN OF app, @@ -24,9 +22,7 @@ CLASS Z2UI5_CL_DEMO_APP_039 DEFINITION PUBLIC. ENDCLASS. - -CLASS Z2UI5_CL_DEMO_APP_039 IMPLEMENTATION. - +CLASS z2ui5_cl_demo_app_039 IMPLEMENTATION. METHOD Z2UI5_if_app~main. @@ -49,7 +45,6 @@ CLASS Z2UI5_CL_DEMO_APP_039 IMPLEMENTATION. ENDMETHOD. - METHOD Z2UI5_on_event. CASE app-get-event. @@ -57,149 +52,147 @@ CLASS Z2UI5_CL_DEMO_APP_039 IMPLEMENTATION. WHEN 'BACK'. client->nav_app_leave( client->get_app( app-get-s_draft-id_prev_app_stack ) ). WHEN 'POPUP'. - client->message_box_display( 'Event raised value:' && mv_value ). + client->message_box_display( |Event raised value:{ mv_value }| ). ENDCASE. ENDMETHOD. - METHOD Z2UI5_on_init. - mv_value = '200'. + mv_value = '200'. ENDMETHOD. - METHOD Z2UI5_on_render_main. - data(lv_xml) = `` && |\n| && - ` ` && |\n| && - `