Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build new playground #751

Merged
merged 76 commits into from
Nov 6, 2019
Merged

Build new playground #751

merged 76 commits into from
Nov 6, 2019

Conversation

fifoosid
Copy link
Contributor

@fifoosid fifoosid commented Aug 27, 2019

  • playground/app not necessary, the whole structure can be directly under playground

Copy link
Contributor

@vladitasev vladitasev left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Works on my machine, didn't find any issues.

One question, should we delete the gemlock file and add it to .gitignore?

packages/playground/app/_config.yml Outdated Show resolved Hide resolved
packages/playground/app/Rakefile Outdated Show resolved Hide resolved
Copy link
Contributor

@vladitasev vladitasev left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Issues:

  • the bottom of .md pages is a bit cut, like there's no padding. F.e. go to: "http://localhost:4000/playground/docs/faq" and check the bottom line.
  • Changing RTL does not seem to affect the samples (only the dialog that offers theme/size/rtl settings)
  • When clicking WC links in the left menu, f.e. table, once the page is realoaded, you don't see what you just clicked on the left. Is it easy to make it scroll down so that the selected component is always in focus?
  • IE: opening the datepicker on the initial page produces a tall dialog with infinite scroll
  • IE: the dialog to change theme/size/rtl does not work properly, popups are initially open, buttons on the bottom bar are not clickable as something overlaps them etc....
  • IE: datepicker icon is missing in the sample page for all datepicker instances
  • IE: tabcontainer design is broken - some dots appear
  • IE: shellbar title is huge

Overall IE: please check if jekyll does not set CSS rules that interfere with our webcomponents. Since there is no shadow root isolation, each app that wants to run on IE should provide CSS that does not break the internals of WC.

<script src="../../../../../../resources/sap/ui/thirdparty/sinon.js"></script>
<script src="../../../../../../resources/sap/ui/thirdparty/sinon-qunit.js"></script>
<!-- Patch all of the dependencies -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we have as a local dependecy like we had it previously?

At least do not load it through https but instead let the browser decide on the protocol

//ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

still here despite the local version, please remove

@@ -0,0 +1,142 @@
/*!
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As you added all qunit files to the main project check if they are excluded from the npm publish. I see that they are in the test folder so most probably they will be excluded.

Just a reminder to check because we do not need these files in the final npm output

Also we do not need them nested in the sap/ui/webcomponents folders because they are not related to this namespace.

<script>
window.prettyPrint();
</script>
<style>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

style tag at the bottom of the page?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done


# Google Analytics Tracking (optional)
# e.g, UA-1234567-89
ga_tracking: UA-2709176-10
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure we need google analytics.

Point that out so you have reminder to sync with PO


<link rel="stylesheet" href="{{ "/assets/css/just-the-docs.css" | absolute_url }}">

{% if site.ga_tracking != nil %}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's exclude this until we have clear statement from PO

@@ -0,0 +1,229 @@
[![Build Status](https://travis-ci.org/webcomponents/webcomponentsjs.svg?branch=master)](https://travis-ci.org/webcomponents/webcomponentsjs)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

no need to have thirdparty readme in our output assets not sure about the license

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Readme is removed. The license is BSD, so we need to keep the license.md

@@ -0,0 +1 @@
{"version":3,"sources":["../../custom-elements/src/Utilities.js","../../custom-elements/src/CustomElementInternals.js","../../custom-elements/src/CustomElementState.js","../../custom-elements/src/DocumentConstructionObserver.js","../../custom-elements/src/CustomElementRegistry.js","../../custom-elements/src/Deferred.js","../../custom-elements/src/Patch/Native.js","../../custom-elements/src/AlreadyConstructedMarker.js","../../custom-elements/src/Patch/HTMLElement.js","../../custom-elements/src/custom-elements.js","../../custom-elements/src/Patch/Interface/ParentNode.js","../../custom-elements/src/Patch/Document.js","../../custom-elements/src/Patch/Node.js","../../custom-elements/src/Patch/Interface/ChildNode.js","../../custom-elements/src/Patch/Element.js","../../custom-elements/src/Patch/DocumentFragment.js"],"names":["reservedTagList","Set","isValidCustomElementName","localName","reserved","has","validForm","test","isConnected","node","nativeValue","undefined","current","__CE_isImportDocument","Document","parentNode","window","ShadowRoot","host","nextSiblingOrAncestorSibling","root","start","nextSibling","walkDeepDescendantElements","callback","visitedImports","nodeType","Node","ELEMENT_NODE","element","getAttribute","importNode","import","add","child","firstChild","shadowRoot","__CE_shadowRoot","setPropertyUnchecked","destination","name","value","constructor","CustomElementInternals","_localNameToDefinition","Map","_constructorToDefinition","_patches","_hasPatches","setDefinition","definition","set","constructorFunction","addPatch","listener","push","patchTree","patch","__CE_patched","i","length","connectTree","elements","custom","__CE_state","connectedCallback","upgradeElement","disconnectTree","disconnectedCallback","patchAndUpgradeTree","options","upgrade","gatherElements","__CE_hasRegistry","readyState","__CE_documentLoadHandled","addEventListener","clonedVisitedImports","delete","ownerDocument","defaultView","get","localNameToDefinition","constructionStack","Error","pop","e","failed","__CE_definition","attributeChangedCallback","observedAttributes","call","oldValue","newValue","namespace","indexOf","DocumentConstructionObserver","internals","doc","document","_internals","_document","_observer","MutationObserver","_handleMutations","bind","observe","childList","subtree","disconnect","mutations","addedNodes","j","Deferred","_resolve","_value","_promise","Promise","resolve","CustomElementRegistry","_elementDefinitionIsRunning","_whenDefinedDeferred","_flushCallback","this._flushCallback","fn","_flushPending","_pendingDefinitions","_documentConstructionObserver","define","Function","TypeError","SyntaxError","getCallback","callbackValue","prototype","Object","adoptedCallback","_flush","pendingDefinitions","elementsWithStableDefinitions","elementsWithPendingDefinitions","pendingElements","shift","pendingUpgradableElements","deferred","whenDefined","reject","prior","some","d","polyfillWrapFlushCallback","outer","inner","flush","Document_createElement","createElement","Document_createElementNS","createElementNS","Document_importNode","Document_prepend","Document_append","DocumentFragment_prepend","DocumentFragment","DocumentFragment_append","Node_cloneNode","cloneNode","Node_appendChild","appendChild","Node_insertBefore","insertBefore","Node_removeChild","removeChild","Node_replaceChild","replaceChild","Node_textContent","getOwnPropertyDescriptor","Element_attachShadow","Element","Element_innerHTML","Element_getAttribute","Element_setAttribute","setAttribute","Element_removeAttribute","removeAttribute","Element_getAttributeNS","getAttributeNS","Element_setAttributeNS","setAttributeNS","Element_removeAttributeNS","removeAttributeNS","Element_insertAdjacentElement","Element_insertAdjacentHTML","Element_prepend","Element_append","Element_before","Element_after","Element_replaceWith","Element_remove","HTMLElement","HTMLElement_innerHTML","HTMLElement_insertAdjacentElement","HTMLElement_insertAdjacentHTML","$jscompDefaultExport","AlreadyConstructedMarker","constructorToDefinition","$jscompDefaultExport$$module$node_modules$$webcomponents$custom_elements$src$Patch$Native.Document_createElement.call","setPrototypeOf","lastIndex","$jscompDefaultExport$$module$node_modules$$webcomponents$custom_elements$src$Patch$Native.HTMLElement","defineProperty","writable","configurable","enumerable","builtIn","appendPrependPatch","builtInMethod","flattenedNodes","connectedElements","nodes","apply","prepend","append","result","deep","clone","$jscompDefaultExport$$module$node_modules$$webcomponents$custom_elements$src$Patch$Native.Document_importNode.call","NS_HTML","$jscompDefaultExport$$module$node_modules$$webcomponents$custom_elements$src$Patch$Native.Document_createElementNS.call","PatchParentNode","$jscompDefaultExport$$module$node_modules$$webcomponents$custom_elements$src$Patch$Native.Document_prepend","$jscompDefaultExport$$module$node_modules$$webcomponents$custom_elements$src$Patch$Native.Document_append","patch_textContent","baseDescriptor","assignedValue","TEXT_NODE","removedNodes","childNodes","childNodesLength","Array","refNode","insertedNodes","slice","nativeResult","$jscompDefaultExport$$module$node_modules$$webcomponents$custom_elements$src$Patch$Native.Node_insertBefore.call","nodeWasConnected","$jscompDefaultExport$$module$node_modules$$webcomponents$custom_elements$src$Patch$Native.Node_appendChild.call","$jscompDefaultExport$$module$node_modules$$webcomponents$custom_elements$src$Patch$Native.Node_cloneNode.call","$jscompDefaultExport$$module$node_modules$$webcomponents$custom_elements$src$Patch$Native.Node_removeChild.call","nodeToInsert","nodeToRemove","$jscompDefaultExport$$module$node_modules$$webcomponents$custom_elements$src$Patch$Native.Node_replaceChild.call","nodeToInsertWasConnected","thisIsConnected","$jscompDefaultExport$$module$node_modules$$webcomponents$custom_elements$src$Patch$Native.Node_textContent","$jscompDefaultExport$$module$node_modules$$webcomponents$custom_elements$src$Patch$Native.Node_textContent.get","parts","textContent","join","createTextNode","beforeAfterPatch","$jscompDefaultExport$$module$node_modules$$webcomponents$custom_elements$src$Patch$Native.Element_before","$jscompDefaultExport$$module$node_modules$$webcomponents$custom_elements$src$Patch$Native.Element_after","$jscompDefaultExport$$module$node_modules$$webcomponents$custom_elements$src$Patch$Native.Element_replaceWith","wasConnected","$jscompDefaultExport$$module$node_modules$$webcomponents$custom_elements$src$Patch$Native.Element_remove","patch_innerHTML","htmlString","removedElements","patch_insertAdjacentElement","baseMethod","position","insertedElement","patch_insertAdjacentHTML","upgradeNodesInRange","end","text","toLowerCase","marker","previousSibling","lastChild","String","$jscompDefaultExport$$module$node_modules$$webcomponents$custom_elements$src$Patch$Native.Element_attachShadow","init","$jscompDefaultExport$$module$node_modules$$webcomponents$custom_elements$src$Patch$Native.Element_attachShadow.call","$jscompDefaultExport$$module$node_modules$$webcomponents$custom_elements$src$Patch$Native.Element_innerHTML","$jscompDefaultExport$$module$node_modules$$webcomponents$custom_elements$src$Patch$Native.Element_innerHTML.get","$jscompDefaultExport$$module$node_modules$$webcomponents$custom_elements$src$Patch$Native.HTMLElement_innerHTML","$jscompDefaultExport$$module$node_modules$$webcomponents$custom_elements$src$Patch$Native.HTMLElement_innerHTML.get","innerHTML","isTemplate","content","rawElement","namespaceURI","container","$jscompDefaultExport$$module$node_modules$$webcomponents$custom_elements$src$Patch$Native.Element_setAttribute.call","$jscompDefaultExport$$module$node_modules$$webcomponents$custom_elements$src$Patch$Native.Element_getAttribute.call","$jscompDefaultExport$$module$node_modules$$webcomponents$custom_elements$src$Patch$Native.Element_setAttributeNS.call","$jscompDefaultExport$$module$node_modules$$webcomponents$custom_elements$src$Patch$Native.Element_getAttributeNS.call","$jscompDefaultExport$$module$node_modules$$webcomponents$custom_elements$src$Patch$Native.Element_removeAttribute.call","$jscompDefaultExport$$module$node_modules$$webcomponents$custom_elements$src$Patch$Native.Element_removeAttributeNS.call","$jscompDefaultExport$$module$node_modules$$webcomponents$custom_elements$src$Patch$Native.HTMLElement_insertAdjacentElement","$jscompDefaultExport$$module$node_modules$$webcomponents$custom_elements$src$Patch$Native.Element_insertAdjacentElement","console","warn","$jscompDefaultExport$$module$node_modules$$webcomponents$custom_elements$src$Patch$Native.HTMLElement_insertAdjacentHTML","$jscompDefaultExport$$module$node_modules$$webcomponents$custom_elements$src$Patch$Native.Element_insertAdjacentHTML","$jscompDefaultExport$$module$node_modules$$webcomponents$custom_elements$src$Patch$Native.Element_prepend","$jscompDefaultExport$$module$node_modules$$webcomponents$custom_elements$src$Patch$Native.Element_append","PatchChildNode","priorCustomElements","PatchHTMLElement","PatchDocument","$jscompDefaultExport$$module$node_modules$$webcomponents$custom_elements$src$Patch$Native.DocumentFragment_prepend","$jscompDefaultExport$$module$node_modules$$webcomponents$custom_elements$src$Patch$Native.DocumentFragment_append","PatchNode","PatchElement","customElements"],"mappings":"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","file":"webcomponents-ce.js","sourcesContent":["const reservedTagList = new Set([\n 'annotation-xml',\n 'color-profile',\n 'font-face',\n 'font-face-src',\n 'font-face-uri',\n 'font-face-format',\n 'font-face-name',\n 'missing-glyph',\n]);\n\n/**\n * @param {string} localName\n * @returns {boolean}\n */\nexport function isValidCustomElementName(localName) {\n const reserved = reservedTagList.has(localName);\n const validForm = /^[a-z][.0-9_a-z]*-[\\-.0-9_a-z]*$/.test(localName);\n return !reserved && validForm;\n}\n\n/**\n * @private\n * @param {!Node} node\n * @return {boolean}\n */\nexport function isConnected(node) {\n // Use `Node#isConnected`, if defined.\n const nativeValue = node.isConnected;\n if (nativeValue !== undefined) {\n return nativeValue;\n }\n\n /** @type {?Node|undefined} */\n let current = node;\n while (current && !(current.__CE_isImportDocument || current instanceof Document)) {\n current = current.parentNode || (window.ShadowRoot && current instanceof ShadowRoot ? current.host : undefined);\n }\n return !!(current && (current.__CE_isImportDocument || current instanceof Document));\n}\n\n/**\n * @param {!Node} root\n * @param {!Node} start\n * @return {?Node}\n */\nfunction nextSiblingOrAncestorSibling(root, start) {\n let node = start;\n while (node && node !== root && !node.nextSibling) {\n node = node.parentNode;\n }\n return (!node || node === root) ? null : node.nextSibling;\n}\n\n/**\n * @param {!Node} root\n * @param {!Node} start\n * @return {?Node}\n */\nfunction nextNode(root, start) {\n return start.firstChild ? start.firstChild : nextSiblingOrAncestorSibling(root, start);\n}\n\n/**\n * @param {!Node} root\n * @param {!function(!Element)} callback\n * @param {!Set<Node>=} visitedImports\n */\nexport function walkDeepDescendantElements(root, callback, visitedImports = new Set()) {\n let node = root;\n while (node) {\n if (node.nodeType === Node.ELEMENT_NODE) {\n const element = /** @type {!Element} */(node);\n\n callback(element);\n\n const localName = element.localName;\n if (localName === 'link' && element.getAttribute('rel') === 'import') {\n // If this import (polyfilled or not) has it's root node available,\n // walk it.\n const importNode = /** @type {!Node} */ (element.import);\n if (importNode instanceof Node && !visitedImports.has(importNode)) {\n // Prevent multiple walks of the same import root.\n visitedImports.add(importNode);\n\n for (let child = importNode.firstChild; child; child = child.nextSibling) {\n walkDeepDescendantElements(child, callback, visitedImports);\n }\n }\n\n // Ignore descendants of import links to prevent attempting to walk the\n // elements created by the HTML Imports polyfill that we just walked\n // above.\n node = nextSiblingOrAncestorSibling(root, element);\n continue;\n } else if (localName === 'template') {\n // Ignore descendants of templates. There shouldn't be any descendants\n // because they will be moved into `.content` during construction in\n // browsers that support template but, in case they exist and are still\n // waiting to be moved by a polyfill, they will be ignored.\n node = nextSiblingOrAncestorSibling(root, element);\n continue;\n }\n\n // Walk shadow roots.\n const shadowRoot = element.__CE_shadowRoot;\n if (shadowRoot) {\n for (let child = shadowRoot.firstChild; child; child = child.nextSibling) {\n walkDeepDescendantElements(child, callback, visitedImports);\n }\n }\n }\n\n node = nextNode(root, node);\n }\n}\n\n/**\n * Used to suppress Closure's \"Modifying the prototype is only allowed if the\n * constructor is in the same scope\" warning without using\n * `@suppress {newCheckTypes, duplicate}` because `newCheckTypes` is too broad.\n *\n * @param {!Object} destination\n * @param {string} name\n * @param {*} value\n */\nexport function setPropertyUnchecked(destination, name, value) {\n destination[name] = value;\n}\n","import * as Utilities from './Utilities.js';\nimport CEState from './CustomElementState.js';\n\nexport default class CustomElementInternals {\n constructor() {\n /** @type {!Map<string, !CustomElementDefinition>} */\n this._localNameToDefinition = new Map();\n\n /** @type {!Map<!Function, !CustomElementDefinition>} */\n this._constructorToDefinition = new Map();\n\n /** @type {!Array<!function(!Node)>} */\n this._patches = [];\n\n /** @type {boolean} */\n this._hasPatches = false;\n }\n\n /**\n * @param {string} localName\n * @param {!CustomElementDefinition} definition\n */\n setDefinition(localName, definition) {\n this._localNameToDefinition.set(localName, definition);\n this._constructorToDefinition.set(definition.constructorFunction, definition);\n }\n\n /**\n * @param {string} localName\n * @return {!CustomElementDefinition|undefined}\n */\n localNameToDefinition(localName) {\n return this._localNameToDefinition.get(localName);\n }\n\n /**\n * @param {!Function} constructor\n * @return {!CustomElementDefinition|undefined}\n */\n constructorToDefinition(constructor) {\n return this._constructorToDefinition.get(constructor);\n }\n\n /**\n * @param {!function(!Node)} listener\n */\n addPatch(listener) {\n this._hasPatches = true;\n this._patches.push(listener);\n }\n\n /**\n * @param {!Node} node\n */\n patchTree(node) {\n if (!this._hasPatches) return;\n\n Utilities.walkDeepDescendantElements(node, element => this.patch(element));\n }\n\n /**\n * @param {!Node} node\n */\n patch(node) {\n if (!this._hasPatches) return;\n\n if (node.__CE_patched) return;\n node.__CE_patched = true;\n\n for (let i = 0; i < this._patches.length; i++) {\n this._patches[i](node);\n }\n }\n\n /**\n * @param {!Node} root\n */\n connectTree(root) {\n const elements = [];\n\n Utilities.walkDeepDescendantElements(root, element => elements.push(element));\n\n for (let i = 0; i < elements.length; i++) {\n const element = elements[i];\n if (element.__CE_state === CEState.custom) {\n this.connectedCallback(element);\n } else {\n this.upgradeElement(element);\n }\n }\n }\n\n /**\n * @param {!Node} root\n */\n disconnectTree(root) {\n const elements = [];\n\n Utilities.walkDeepDescendantElements(root, element => elements.push(element));\n\n for (let i = 0; i < elements.length; i++) {\n const element = elements[i];\n if (element.__CE_state === CEState.custom) {\n this.disconnectedCallback(element);\n }\n }\n }\n\n /**\n * Upgrades all uncustomized custom elements at and below a root node for\n * which there is a definition. When custom element reaction callbacks are\n * assumed to be called synchronously (which, by the current DOM / HTML spec\n * definitions, they are *not*), callbacks for both elements customized\n * synchronously by the parser and elements being upgraded occur in the same\n * relative order.\n *\n * NOTE: This function, when used to simulate the construction of a tree that\n * is already created but not customized (i.e. by the parser), does *not*\n * prevent the element from reading the 'final' (true) state of the tree. For\n * example, the element, during truly synchronous parsing / construction would\n * see that it contains no children as they have not yet been inserted.\n * However, this function does not modify the tree, the element will\n * (incorrectly) have children. Additionally, self-modification restrictions\n * for custom element constructors imposed by the DOM spec are *not* enforced.\n *\n *\n * The following nested list shows the steps extending down from the HTML\n * spec's parsing section that cause elements to be synchronously created and\n * upgraded:\n *\n * The \"in body\" insertion mode:\n * https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-inbody\n * - Switch on token:\n * .. other cases ..\n * -> Any other start tag\n * - [Insert an HTML element](below) for the token.\n *\n * Insert an HTML element:\n * https://html.spec.whatwg.org/multipage/syntax.html#insert-an-html-element\n * - Insert a foreign element for the token in the HTML namespace:\n * https://html.spec.whatwg.org/multipage/syntax.html#insert-a-foreign-element\n * - Create an element for a token:\n * https://html.spec.whatwg.org/multipage/syntax.html#create-an-element-for-the-token\n * - Will execute script flag is true?\n * - (Element queue pushed to the custom element reactions stack.)\n * - Create an element:\n * https://dom.spec.whatwg.org/#concept-create-element\n * - Sync CE flag is true?\n * - Constructor called.\n * - Self-modification restrictions enforced.\n * - Sync CE flag is false?\n * - (Upgrade reaction enqueued.)\n * - Attributes appended to element.\n * (`attributeChangedCallback` reactions enqueued.)\n * - Will execute script flag is true?\n * - (Element queue popped from the custom element reactions stack.\n * Reactions in the popped stack are invoked.)\n * - (Element queue pushed to the custom element reactions stack.)\n * - Insert the element:\n * https://dom.spec.whatwg.org/#concept-node-insert\n * - Shadow-including descendants are connected. During parsing\n * construction, there are no shadow-*excluding* descendants.\n * However, the constructor may have validly attached a shadow\n * tree to itself and added descendants to that shadow tree.\n * (`connectedCallback` reactions enqueued.)\n * - (Element queue popped from the custom element reactions stack.\n * Reactions in the popped stack are invoked.)\n *\n * @param {!Node} root\n * @param {{\n * visitedImports: (!Set<!Node>|undefined),\n * upgrade: (!function(!Element)|undefined),\n * }=} options\n */\n patchAndUpgradeTree(root, options = {}) {\n const visitedImports = options.visitedImports || new Set();\n const upgrade = options.upgrade || (element => this.upgradeElement(element));\n\n const elements = [];\n\n const gatherElements = element => {\n if (element.localName === 'link' && element.getAttribute('rel') === 'import') {\n // The HTML Imports polyfill sets a descendant element of the link to\n // the `import` property, specifically this is *not* a Document.\n const importNode = /** @type {?Node} */ (element.import);\n\n if (importNode instanceof Node) {\n importNode.__CE_isImportDocument = true;\n // Connected links are associated with the registry.\n importNode.__CE_hasRegistry = true;\n }\n\n if (importNode && importNode.readyState === 'complete') {\n importNode.__CE_documentLoadHandled = true;\n } else {\n // If this link's import root is not available, its contents can't be\n // walked. Wait for 'load' and walk it when it's ready.\n element.addEventListener('load', () => {\n const importNode = /** @type {!Node} */ (element.import);\n\n if (importNode.__CE_documentLoadHandled) return;\n importNode.__CE_documentLoadHandled = true;\n\n // Clone the `visitedImports` set that was populated sync during\n // the `patchAndUpgradeTree` call that caused this 'load' handler to\n // be added. Then, remove *this* link's import node so that we can\n // walk that import again, even if it was partially walked later\n // during the same `patchAndUpgradeTree` call.\n const clonedVisitedImports = new Set(visitedImports);\n clonedVisitedImports.delete(importNode);\n\n this.patchAndUpgradeTree(importNode, {visitedImports: clonedVisitedImports, upgrade});\n });\n }\n } else {\n elements.push(element);\n }\n };\n\n // `walkDeepDescendantElements` populates (and internally checks against)\n // `visitedImports` when traversing a loaded import.\n Utilities.walkDeepDescendantElements(root, gatherElements, visitedImports);\n\n if (this._hasPatches) {\n for (let i = 0; i < elements.length; i++) {\n this.patch(elements[i]);\n }\n }\n\n for (let i = 0; i < elements.length; i++) {\n upgrade(elements[i]);\n }\n }\n\n /**\n * @param {!HTMLElement} element\n */\n upgradeElement(element) {\n const currentState = element.__CE_state;\n if (currentState !== undefined) return;\n\n // Prevent elements created in documents without a browsing context from\n // upgrading.\n //\n // https://html.spec.whatwg.org/multipage/custom-elements.html#look-up-a-custom-element-definition\n // \"If document does not have a browsing context, return null.\"\n //\n // https://html.spec.whatwg.org/multipage/window-object.html#dom-document-defaultview\n // \"The defaultView IDL attribute of the Document interface, on getting,\n // must return this Document's browsing context's WindowProxy object, if\n // this Document has an associated browsing context, or null otherwise.\"\n const ownerDocument = element.ownerDocument;\n if (\n !ownerDocument.defaultView &&\n !(ownerDocument.__CE_isImportDocument && ownerDocument.__CE_hasRegistry)\n ) return;\n\n const definition = this.localNameToDefinition(element.localName);\n if (!definition) return;\n\n definition.constructionStack.push(element);\n\n const constructor = definition.constructorFunction;\n try {\n try {\n let result = new (constructor)();\n if (result !== element) {\n throw new Error('The custom element constructor did not produce the element being upgraded.');\n }\n } finally {\n definition.constructionStack.pop();\n }\n } catch (e) {\n element.__CE_state = CEState.failed;\n throw e;\n }\n\n element.__CE_state = CEState.custom;\n element.__CE_definition = definition;\n\n if (definition.attributeChangedCallback) {\n const observedAttributes = definition.observedAttributes;\n for (let i = 0; i < observedAttributes.length; i++) {\n const name = observedAttributes[i];\n const value = element.getAttribute(name);\n if (value !== null) {\n this.attributeChangedCallback(element, name, null, value, null);\n }\n }\n }\n\n if (Utilities.isConnected(element)) {\n this.connectedCallback(element);\n }\n }\n\n /**\n * @param {!Element} element\n */\n connectedCallback(element) {\n const definition = element.__CE_definition;\n if (definition.connectedCallback) {\n definition.connectedCallback.call(element);\n }\n }\n\n /**\n * @param {!Element} element\n */\n disconnectedCallback(element) {\n const definition = element.__CE_definition;\n if (definition.disconnectedCallback) {\n definition.disconnectedCallback.call(element);\n }\n }\n\n /**\n * @param {!Element} element\n * @param {string} name\n * @param {?string} oldValue\n * @param {?string} newValue\n * @param {?string} namespace\n */\n attributeChangedCallback(element, name, oldValue, newValue, namespace) {\n const definition = element.__CE_definition;\n if (\n definition.attributeChangedCallback &&\n definition.observedAttributes.indexOf(name) > -1\n ) {\n definition.attributeChangedCallback.call(element, name, oldValue, newValue, namespace);\n }\n }\n}\n","/**\n * @enum {number}\n */\nconst CustomElementState = {\n custom: 1,\n failed: 2,\n};\n\nexport default CustomElementState;\n","import CustomElementInternals from './CustomElementInternals.js';\n\nexport default class DocumentConstructionObserver {\n constructor(internals, doc) {\n /**\n * @type {!CustomElementInternals}\n */\n this._internals = internals;\n\n /**\n * @type {!Document}\n */\n this._document = doc;\n\n /**\n * @type {MutationObserver|undefined}\n */\n this._observer = undefined;\n\n\n // Simulate tree construction for all currently accessible nodes in the\n // document.\n this._internals.patchAndUpgradeTree(this._document);\n\n if (this._document.readyState === 'loading') {\n this._observer = new MutationObserver(this._handleMutations.bind(this));\n\n // Nodes created by the parser are given to the observer *before* the next\n // task runs. Inline scripts are run in a new task. This means that the\n // observer will be able to handle the newly parsed nodes before the inline\n // script is run.\n this._observer.observe(this._document, {\n childList: true,\n subtree: true,\n });\n }\n }\n\n disconnect() {\n if (this._observer) {\n this._observer.disconnect();\n }\n }\n\n /**\n * @param {!Array<!MutationRecord>} mutations\n */\n _handleMutations(mutations) {\n // Once the document's `readyState` is 'interactive' or 'complete', all new\n // nodes created within that document will be the result of script and\n // should be handled by patching.\n const readyState = this._document.readyState;\n if (readyState === 'interactive' || readyState === 'complete') {\n this.disconnect();\n }\n\n for (let i = 0; i < mutations.length; i++) {\n const addedNodes = mutations[i].addedNodes;\n for (let j = 0; j < addedNodes.length; j++) {\n const node = addedNodes[j];\n this._internals.patchAndUpgradeTree(node);\n }\n }\n }\n}\n","import CustomElementInternals from './CustomElementInternals.js';\nimport DocumentConstructionObserver from './DocumentConstructionObserver.js';\nimport Deferred from './Deferred.js';\nimport * as Utilities from './Utilities.js';\n\n/**\n * @unrestricted\n */\nexport default class CustomElementRegistry {\n\n /**\n * @param {!CustomElementInternals} internals\n */\n constructor(internals) {\n /**\n * @private\n * @type {boolean}\n */\n this._elementDefinitionIsRunning = false;\n\n /**\n * @private\n * @type {!CustomElementInternals}\n */\n this._internals = internals;\n\n /**\n * @private\n * @type {!Map<string, !Deferred<undefined>>}\n */\n this._whenDefinedDeferred = new Map();\n\n /**\n * The default flush callback triggers the document walk synchronously.\n * @private\n * @type {!Function}\n */\n this._flushCallback = fn => fn();\n\n /**\n * @private\n * @type {boolean}\n */\n this._flushPending = false;\n\n /**\n * @private\n * @type {!Array<!CustomElementDefinition>}\n */\n this._pendingDefinitions = [];\n\n /**\n * @private\n * @type {!DocumentConstructionObserver}\n */\n this._documentConstructionObserver = new DocumentConstructionObserver(internals, document);\n }\n\n /**\n * @param {string} localName\n * @param {!Function} constructor\n */\n define(localName, constructor) {\n if (!(constructor instanceof Function)) {\n throw new TypeError('Custom element constructors must be functions.');\n }\n\n if (!Utilities.isValidCustomElementName(localName)) {\n throw new SyntaxError(`The element name '${localName}' is not valid.`);\n }\n\n if (this._internals.localNameToDefinition(localName)) {\n throw new Error(`A custom element with name '${localName}' has already been defined.`);\n }\n\n if (this._elementDefinitionIsRunning) {\n throw new Error('A custom element is already being defined.');\n }\n this._elementDefinitionIsRunning = true;\n\n let connectedCallback;\n let disconnectedCallback;\n let adoptedCallback;\n let attributeChangedCallback;\n let observedAttributes;\n try {\n /** @type {!Object} */\n const prototype = constructor.prototype;\n if (!(prototype instanceof Object)) {\n throw new TypeError('The custom element constructor\\'s prototype is not an object.');\n }\n\n function getCallback(name) {\n const callbackValue = prototype[name];\n if (callbackValue !== undefined && !(callbackValue instanceof Function)) {\n throw new Error(`The '${name}' callback must be a function.`);\n }\n return callbackValue;\n }\n\n connectedCallback = getCallback('connectedCallback');\n disconnectedCallback = getCallback('disconnectedCallback');\n adoptedCallback = getCallback('adoptedCallback');\n attributeChangedCallback = getCallback('attributeChangedCallback');\n observedAttributes = constructor['observedAttributes'] || [];\n } catch (e) {\n return;\n } finally {\n this._elementDefinitionIsRunning = false;\n }\n\n const definition = {\n localName,\n constructorFunction: constructor,\n connectedCallback,\n disconnectedCallback,\n adoptedCallback,\n attributeChangedCallback,\n observedAttributes,\n constructionStack: [],\n };\n\n this._internals.setDefinition(localName, definition);\n this._pendingDefinitions.push(definition);\n\n // If we've already called the flush callback and it hasn't called back yet,\n // don't call it again.\n if (!this._flushPending) {\n this._flushPending = true;\n this._flushCallback(() => this._flush());\n }\n }\n\n upgrade(element) {\n this._internals.patchAndUpgradeTree(element);\n }\n\n _flush() {\n // If no new definitions were defined, don't attempt to flush. This could\n // happen if a flush callback keeps the function it is given and calls it\n // multiple times.\n if (this._flushPending === false) return;\n this._flushPending = false;\n\n const pendingDefinitions = this._pendingDefinitions;\n\n /**\n * Unupgraded elements with definitions that were defined *before* the last\n * flush, in document order.\n * @type {!Array<!HTMLElement>}\n */\n const elementsWithStableDefinitions = [];\n\n /**\n * A map from `localName`s of definitions that were defined *after* the last\n * flush to unupgraded elements matching that definition, in document order.\n * @type {!Map<string, !Array<!HTMLElement>>}\n */\n const elementsWithPendingDefinitions = new Map();\n for (let i = 0; i < pendingDefinitions.length; i++) {\n elementsWithPendingDefinitions.set(pendingDefinitions[i].localName, []);\n }\n\n this._internals.patchAndUpgradeTree(document, {\n upgrade: element => {\n // Ignore the element if it has already upgraded or failed to upgrade.\n if (element.__CE_state !== undefined) return;\n\n const localName = element.localName;\n\n // If there is an applicable pending definition for the element, add the\n // element to the list of elements to be upgraded with that definition.\n const pendingElements = elementsWithPendingDefinitions.get(localName);\n if (pendingElements) {\n pendingElements.push(element);\n // If there is *any other* applicable definition for the element, add it\n // to the list of elements with stable definitions that need to be upgraded.\n } else if (this._internals.localNameToDefinition(localName)) {\n elementsWithStableDefinitions.push(element);\n }\n },\n });\n\n // Upgrade elements with 'stable' definitions first.\n for (let i = 0; i < elementsWithStableDefinitions.length; i++) {\n this._internals.upgradeElement(elementsWithStableDefinitions[i]);\n }\n\n // Upgrade elements with 'pending' definitions in the order they were defined.\n while (pendingDefinitions.length > 0) {\n const definition = pendingDefinitions.shift();\n const localName = definition.localName;\n\n // Attempt to upgrade all applicable elements.\n const pendingUpgradableElements = elementsWithPendingDefinitions.get(definition.loca
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sourcemaps are also not needed

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

@@ -0,0 +1,72 @@
{
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

package.json as well.

Scrolling through the files I am wondering is there a better way to consume the library instead of copy the files directly to the project

}
}
</style>
<section class="wrapper">
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we exclude the content of this page as an .md file so I can be easily modified by the doc guys if needed?
It looks like a pretty static content

Just a suggestion, not sure if we need it

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

},
"dependencies": {
"@primer/css": "^12.3.1",
"npm-run-all": "^4.1.5",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

npm-run-all, replace-in-file and rimraf are most probably dev deps.

Not sure about the @primer/css. By scrolling the PR I did not find its usage but if we do not use it in the runtime just move it to the devDeps.

@@ -0,0 +1,34 @@
{
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

there should be a single package json in packages/playground (so this one in src should be extracted one level up.

"scripts": {
"test": "stylelint '**/*.scss'",
"build": "npm-run-all --parallel prepare:** && bundle exec jekyll build --source ./ --destination ../dist",
"build:samples": "cd ../../main && nps build.samples",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

instead of building main, we should treat it as a dependency and rely on the root build to build the playground after main.

here we should directly consume the dist folder of main (like main consumes base and does not build it)

@pskelin
Copy link
Contributor

pskelin commented Nov 1, 2019

When I click on a component from the sidebar, the new component is loaded and then the side bar scrolls to the bottom which is very strange. You can reproduce it with a smaller browser height.

@pskelin
Copy link
Contributor

pskelin commented Nov 1, 2019

we need to have the same meta tags as the current playground for description and keywords.

Current:
image

@MapTo0
Copy link
Member

MapTo0 commented Nov 5, 2019

Decide to fix or not but there are things I don't like:

  • placeholder of the search - Search UI5 Web Components docs - change the text
  • all API documentations (.mds) should be part of the playground - not in the github wiki (IMHO)
  • it would be nice if we build the docs using jsdoc's templating instead of concatenating but it is fine for now
  • Tutorials - do we really need to just the README.md files of each repo? Can we just link them instead of having nested navigation?
  • I am getting some window.prettyPrint is not a function errors while clicking here and there
  • Single line snippets look a bit ugly
  • Popover page looks broken
  • I could not generate the API and I had to modify copy script in playground package to "copy:samples": "node ./build-scripts/samples-prepare.js \"../main/dist/test-resources/api\"",
  • IMHO: Generation of final samples should be part of the playground not part of the build of each library.

@fifoosid fifoosid merged commit fdcddaa into master Nov 6, 2019
@fifoosid fifoosid deleted the build-new-playground branch November 8, 2019 11:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants