All files / src/display ErrorPageUtils.js

100% Statements 20/20
100% Branches 6/6
100% Functions 3/3
100% Lines 20/20

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48                                  1x 1x 2x 2x   1x     1x 5x 5x 4x   5x 3x   5x 3x   5x     1x 1x 1x 1x 1x 1x      
/*
 * Copyright 2025 SkillTree
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     https://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
export default {
  removeAllChildren(domNode) {
    let child = domNode.lastElementChild;
    while (child) {
      domNode.removeChild(child);
      child = domNode.lastElementChild;
    }
    return domNode;
  },
  buildErrorPage() {
    const createElem = (tag, parent, text, style) => {
      const newElem = document.createElement(tag);
      if (parent) {
        parent.appendChild(newElem);
      }
      if (text) {
        newElem.appendChild(document.createTextNode(text));
      }
      if (style) {
        newElem.setAttribute('style', style);
      }
      return newElem;
    };
 
    const container = createElem('div', undefined, undefined, 'text-align: center; padding-top: 3rem; color: #3e3c3c;');
    const imageContainer = createElem('p', container);
    createElem('span', imageContainer, '😕', 'font-size: 6rem; border: 1px solid #ccc !important; border-radius: 4px; padding: 1rem 4rem 1rem 4rem;');
    createElem('p', container, 'Could NOT reach Skilltree Service.', 'font-size: 2rem; color: #460f0f;');
    createElem('div', container, 'Please contact the skilltree server administrator. ');
    return container;
  },
};