(modal, allowedLayoutsObj, userGuiOptions, modalClassPrefix, defaultLayoutName, modalClassName)
| 123 | * @param {'cm' | 'pm'} modalClassName |
| 124 | */ |
| 125 | const setLayout = (modal, allowedLayoutsObj, userGuiOptions, modalClassPrefix, defaultLayoutName, modalClassName) => { |
| 126 | /** |
| 127 | * Reset modal classes to default |
| 128 | */ |
| 129 | modal.className = modalClassName; |
| 130 | |
| 131 | const layout = userGuiOptions && userGuiOptions.layout; |
| 132 | const position = userGuiOptions && userGuiOptions.position; |
| 133 | const flipButtons = userGuiOptions && userGuiOptions.flipButtons; |
| 134 | const equalWeightButtons = !userGuiOptions || userGuiOptions.equalWeightButtons !== false; |
| 135 | |
| 136 | const layoutSplit = layout && layout.split(' ') || []; |
| 137 | |
| 138 | const layoutName = layoutSplit[0]; |
| 139 | const layoutVariant = layoutSplit[1]; |
| 140 | |
| 141 | const currentLayoutName = layoutName in allowedLayoutsObj |
| 142 | ? layoutName |
| 143 | : defaultLayoutName; |
| 144 | |
| 145 | const currentLayout = allowedLayoutsObj[currentLayoutName]; |
| 146 | const currentLayoutVariant = elContains(currentLayout._variants, layoutVariant) && layoutVariant; |
| 147 | |
| 148 | const positionSplit = position && position.split(' ') || []; |
| 149 | const positionV = positionSplit[0]; |
| 150 | |
| 151 | const positionH = modalClassPrefix === CLASS_CONSTANTS._pmPrefix |
| 152 | ? positionSplit[0] |
| 153 | : positionSplit[1]; |
| 154 | |
| 155 | const currentPositionV = elContains(currentLayout._alignV, positionV) |
| 156 | ? positionV |
| 157 | : currentLayout._defaultAlignV; |
| 158 | |
| 159 | const currentPositionH = elContains(currentLayout._alignH, positionH) |
| 160 | ? positionH |
| 161 | : currentLayout._defaultAlignH; |
| 162 | |
| 163 | const addModalClass = className => { |
| 164 | className && addClass(modal, modalClassPrefix + className); |
| 165 | }; |
| 166 | |
| 167 | addModalClass(currentLayoutName); |
| 168 | addModalClass(currentLayoutVariant); |
| 169 | addModalClass(currentPositionV); |
| 170 | addModalClass(currentPositionH); |
| 171 | flipButtons && addModalClass('flip'); |
| 172 | |
| 173 | const secondaryBtnClass = 'btn--secondary'; |
| 174 | const btnClassPrefix = modalClassName + '__'; |
| 175 | const btnClass = btnClassPrefix + secondaryBtnClass; |
| 176 | |
| 177 | /** |
| 178 | * Add classes to buttons |
| 179 | */ |
| 180 | if (modalClassName === 'cm') { |
| 181 | const {_cmAcceptNecessaryBtn, _cmCloseIconBtn} = globalObj._dom; |
| 182 |
no test coverage detected
searching dependent graphs…