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 |
Copyright (c) 2024-2025 Christian Martin |
||||
Unauthorized copying of this file, |
|
||||
via any medium is strictly prohibited |
All rights reserved. |
||||
Proprietary and confidential |
|
||||
Written by Christian Martin, September 2024 |
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