Compare commits
24 Commits
Author | SHA1 | Date |
---|---|---|
|
c0171aa8d8 | 1 month ago |
|
6933a89111 | 1 month ago |
|
7a40c27712 | 1 month ago |
|
6de0aca195 | 1 month ago |
|
02203a5dd0 | 2 months ago |
|
a36190bde9 | 2 months ago |
|
41d71f1523 | 2 months ago |
|
1a51451e82 | 2 months ago |
|
9fb347421d | 2 months ago |
|
362d9f870c | 2 months ago |
|
cf6438d623 | 2 months ago |
|
c0b43e38d1 | 2 months ago |
|
d361a1bbee | 2 months ago |
|
c25f9bb93e | 2 months ago |
|
aa65dc1e54 | 2 months ago |
|
5dab23dc14 | 2 months ago |
|
46f12f517d | 2 months ago |
|
ab4d39d55d | 2 months ago |
|
0496bb0295 | 2 months ago |
|
d578a56269 | 2 months ago |
|
61a32a7bfe | 2 months ago |
|
27cc2d930d | 2 months ago |
|
73c85f4d2e | 2 months ago |
|
025573a16c | 2 months ago |
19 changed files with 2403 additions and 168 deletions
@ -1,5 +1,21 @@ |
|||
Copyright (C) Christian Martin - All Rights Reserved |
|||
Unauthorized copying of this file, |
|||
via any medium is strictly prohibited |
|||
Proprietary and confidential |
|||
Written by Christian Martin, September 2024 |
|||
Copyright (c) 2024-2025 Christian Martin |
|||
|
|||
All rights reserved. |
|||
|
|||
This software |
|||
and associated documentation files (the "Software") |
|||
are the exclusive property of Christian Martin. |
|||
You may not use, copy, modify, merge, publish, |
|||
distribute, sublicense, or sell copies of the Software, |
|||
in whole or in part, |
|||
without the express prior written permission of the copyright holder. |
|||
|
|||
For inquiries regarding licensing, please contact: |
|||
christian.martin3(at)gmx.net. |
|||
|
|||
THE SOFTWARE IS PROVIDED "AS IS", |
|||
WITHOUT WARRANTY OF ANY KIND, |
|||
EXPRESS OR IMPLIED, |
|||
INCLUDING BUT NOT LIMITED TO |
|||
THE WARRANTIES OF MERCHANTABILITY, |
|||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. |
|||
|
@ -0,0 +1,15 @@ |
|||
import js from "@eslint/js"; |
|||
import globals from "globals"; |
|||
import json from "@eslint/json"; |
|||
import css from "@eslint/css"; |
|||
import { defineConfig } from "eslint/config"; |
|||
|
|||
|
|||
export default defineConfig([ |
|||
{ files: ["**/*.{js,mjs,cjs}"], plugins: { js }, extends: ["js/recommended"] }, |
|||
{ files: ["**/*.js"], languageOptions: { sourceType: "script" } }, |
|||
{ files: ["**/*.{js,mjs,cjs}"], languageOptions: { globals: globals.browser } }, |
|||
{ files: ["**/*.json"], plugins: { json }, language: "json/json", extends: ["json/recommended"] }, |
|||
{ files: ["**/*.jsonc"], plugins: { json }, language: "json/jsonc", extends: ["json/recommended"] }, |
|||
{ files: ["**/*.css"], plugins: { css }, language: "css/css", extends: ["css/recommended"] }, |
|||
]); |
File diff suppressed because it is too large
@ -1,78 +0,0 @@ |
|||
/** |
|||
* Defines an extension that can be added to the jpclw-framework |
|||
*/ |
|||
class CompelExtension { |
|||
/** |
|||
* @type {string} |
|||
*/ |
|||
name; |
|||
/** |
|||
* @type {string} |
|||
*/ |
|||
diplayTitle; |
|||
/** |
|||
* @type {Array<SStoreDefinition>} |
|||
*/ |
|||
stylings; |
|||
/** |
|||
* @type {Array<SStoreDefinition>} |
|||
*/ |
|||
functions; |
|||
/** |
|||
* Predefined components. Usually of a higher (constructed) kind. |
|||
* @type {Object} |
|||
*/ |
|||
components; |
|||
/** |
|||
* Extensions for/to the Page or the framework in general. |
|||
* @type {Object} |
|||
*/ |
|||
frameworkControls; |
|||
/** |
|||
* Additional elements for the builder (likely referencing components) |
|||
* @type {Object} |
|||
*/ |
|||
builderElements; |
|||
|
|||
/** |
|||
* Additional helper functions |
|||
* @type {{*:Function}} |
|||
*/ |
|||
helperFun; |
|||
|
|||
/** |
|||
* functions that are supposed to be executed after install, |
|||
* to extend it that way. |
|||
* @type {Array<Function>} |
|||
*/ |
|||
funAfterInstall |
|||
|
|||
/** |
|||
* defines how jpc-like-websites is to be extended and executes that extension |
|||
*/ |
|||
install() { |
|||
if (this.helperFun) { |
|||
helperFun.extensions = Object.assign(helperFun.extensions, this.helperFun); |
|||
} |
|||
|
|||
if (this.builderElements) { |
|||
builder.extensions = Object.assign(builder.extensions, this.builderElements); |
|||
} |
|||
|
|||
if (this.frameworkControls) { |
|||
Page.extensions = Object.assign(Page.extensions, this.frameworkControls); |
|||
} |
|||
|
|||
if (this.stylings) { |
|||
for (const key of Object.keys(this.stylings)) { |
|||
Page.registerStyling(key, this.stylings[key]); |
|||
} |
|||
} |
|||
|
|||
if (this.funAfterInstall) { |
|||
for (const fun of this.funAfterInstall) { |
|||
fun(); |
|||
} |
|||
} |
|||
} |
|||
} |
Loading…
Reference in new issue