@gridify/studio 0.0.0-stage → 1.0.0-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +163 -0
- package/README.md +118 -2
- package/REFERENCE.md +6957 -0
- package/fesm2022/gridify-studio.mjs +10085 -0
- package/gfy-common/code/_gfy-code-palette.scss +52 -0
- package/gfy-common/density/gfy-density.scss +297 -0
- package/gfy-common/themes/_gfy-scrollbars.scss +3 -0
- package/gfy-common/themes/gfy-themes.scss +639 -0
- package/gfy-common/typography/gfy-typography.scss +158 -0
- package/package.json +26 -3
- package/styles/_index.scss +3 -0
- package/types/gridify-studio.d.ts +24904 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
# GRIDIFY STUDIO SOFTWARE LICENSE AGREEMENT
|
|
2
|
+
|
|
3
|
+
**Version 1.0 — Effective Date: November 2026**
|
|
4
|
+
|
|
5
|
+
**Licensor:** Gridify Softworks s.r.o., Czech Republic
|
|
6
|
+
|
|
7
|
+
**Product:** Gridify Studio (including the Gridify Designer integrated application)
|
|
8
|
+
|
|
9
|
+
**Official Portal:** https://gridify.dev
|
|
10
|
+
|
|
11
|
+
### IMPORTANT NOTICE — PLEASE READ CAREFULLY
|
|
12
|
+
|
|
13
|
+
BY DOWNLOADING, INSTALLING, COPYING, ACCESSING, OR OTHERWISE USING GRIDIFY STUDIO OR THE GRIDIFY DESIGNER (COLLECTIVELY, THE "SOFTWARE"), YOU ("LICENSEE") AGREE TO BE BOUND BY THE TERMS OF THIS SOFTWARE LICENSE AGREEMENT ("AGREEMENT") ENTERED INTO WITH GRIDIFY SOFTWORKS S.R.O. ("LICENSOR"). IF YOU DO NOT AGREE TO THE TERMS, DO NOT INSTALL, COPY, OR USE THE SOFTWARE.
|
|
14
|
+
|
|
15
|
+
### 1. DEFINITIONS
|
|
16
|
+
|
|
17
|
+
* **"Licensor"** means **Gridify Softworks s.r.o.**, a limited liability company organized and existing under the laws of the Czech Republic.
|
|
18
|
+
|
|
19
|
+
* **"Software"** means the Gridify Studio platform and SDK, comprising runtime libraries, Angular UI components, docking containers, directives, themes, documentation, interactive tutorials, sample applications, and the **Gridify Designer** integrated visual application.
|
|
20
|
+
|
|
21
|
+
* **"Gridify Designer"** means the integrated visual RAD application provided with the Software, featuring unified, switchable editing environments including, but not limited to, the Layout Editor, Ribbon Editor, and Form Editor.
|
|
22
|
+
|
|
23
|
+
* **"Designated Developer"** means an identified individual software engineer, contractor, or architect employed or retained by Licensee who actively integrates, programs, builds, or designs applications utilizing the Software. Build servers, continuous integration systems, testers, and end users of Licensee's applications who do not write code with the Software are not Designated Developers.
|
|
24
|
+
|
|
25
|
+
* **"Community Edition"** means the free runtime packages and accompanying Gridify Designer application distributed for community, educational, and public web use.
|
|
26
|
+
|
|
27
|
+
* **"Public Web Application"** means a web-based application freely and publicly accessible over the open Internet without mandatory commercial subscription fees, paywalls, or closed member access controls. A free registration or sign-in that is open to anyone does not by itself make an application non-public. An application that displays advertising, solicits donations, sells goods or services, or is otherwise monetized is not a Public Web Application.
|
|
28
|
+
|
|
29
|
+
* **"Internal / Commercial Application"** means any software deployed within a corporate intranet, internal network, private VPN, multi-tenant B2B SaaS platform, or behind paid customer login walls, and any software that generates revenue or serves commercial purposes, regardless of whether its source code is published under an open-source license.
|
|
30
|
+
|
|
31
|
+
* **"Production Deployment"** means making an application built with the Software available to its intended users, internal or external, or using it in Licensee's operations. Development, test, and demonstration environments used only by Licensee's developers and testers are not Production Deployments.
|
|
32
|
+
|
|
33
|
+
* **"Covered Versions"** means the versions of the Software released by Licensor during an active commercial subscription (Section 2.3) or during the Pilot Period (Section 2.2), as applicable.
|
|
34
|
+
|
|
35
|
+
* **"Order Form"** means an ordering document, quotation, digital checkout confirmation, registration form, or invoice issued by Licensor or its authorized reseller specifying the purchased license tier, developer capacity, term, selected options, and applicable fees.
|
|
36
|
+
|
|
37
|
+
* **"Pilot Period"** means a period of twelve (12) consecutive months starting from the date an official Pilot License Key or written authorization is issued by Licensor.
|
|
38
|
+
|
|
39
|
+
### 2. LICENSING TIERS & GRANT OF RIGHTS
|
|
40
|
+
|
|
41
|
+
#### 2.1 Community Edition
|
|
42
|
+
|
|
43
|
+
* **Grant of License:** Subject to continuous compliance with this Agreement, Licensor grants Licensee a worldwide, non-exclusive, royalty-free, revocable license to access, integrate, and use the complete Software—comprising runtime packages and the unrestricted, fully functional **Gridify Designer** application with all editing modules—solely for the following permitted purposes:
|
|
44
|
+
|
|
45
|
+
1. Open-source software projects distributed under an OSI-approved license. This purpose covers the development and the public distribution of such projects. The deployment or use of an application, including an open-source one, by a company or other commercial organization for its internal operations or for commercial purposes is an Internal / Commercial Application and requires a commercial license. An open-source project that uses or includes the Software shall state that the Software is licensed under this Agreement and not under the project's own open-source license.
|
|
46
|
+
|
|
47
|
+
2. Non-commercial, educational, academic, and public institutional purposes (such as public libraries, museums, or state schools, including their internal systems and networks), and personal non-commercial projects.
|
|
48
|
+
|
|
49
|
+
3. Freely accessible, non-monetized Public Web Applications.
|
|
50
|
+
|
|
51
|
+
4. **Evaluation:** Any person or organization, including a team of developers at a company, may install the Software, try it out, build prototypes, and develop applications with it for an evaluation period of ninety (90) days per project, counted from the first use of the Software in that project. Evaluation never includes a Production Deployment. A commercial license under Section 2.2 or 2.3 is required at the end of the evaluation period or from the first Production Deployment of an Internal / Commercial Application, whichever comes first. Licensor may extend the evaluation period in writing. Upon registration, Licensor issues a free evaluation key valid for ninety (90) days, which suppresses the Community notice of the Software during the evaluation; without an evaluation key, or after it expires, the Software displays the Community notice in the browser console. An evaluation key does not authorize any Production Deployment.
|
|
52
|
+
|
|
53
|
+
* **Unrestricted Tooling:** Under the Community Edition, Gridify Designer is provided with full feature availability, including layout arrangement, ribbon authoring, form design, and code generation routines, subject only to the operational scopes defined herein.
|
|
54
|
+
|
|
55
|
+
* **Term & Revocation:** The Community Edition license remains effective only for as long as Licensee satisfies the qualifying criteria above. Licensor reserves the right to revoke or condition this license if the scope of use is breached or mischaracterized.
|
|
56
|
+
|
|
57
|
+
* **Restrictions:** The Community Edition may **not** be deployed behind private corporate intranets, closed enterprise workstations, internal business portals, or within commercial revenue-generating SaaS systems without an active commercial license tier. This restriction does not apply to the internal systems of the public institutions under item 2 above.
|
|
58
|
+
|
|
59
|
+
#### 2.2 Commercial Pilot License (1-Year Term)
|
|
60
|
+
|
|
61
|
+
* **Grant of License:** Subject to registration and verification by Licensor, Licensor grants Licensee a worldwide, non-exclusive, fully functional commercial license for the number of Designated Developers stated in its pilot authorization (the Pilot License Key or the written authorization of Licensor) to integrate, use Gridify Designer, and deploy Gridify Studio in production environments for a fixed term of twelve (12) consecutive months ("Pilot Period").
|
|
62
|
+
|
|
63
|
+
* **Selection:** Licensor selects the pilot participants at its sole discretion. It may limit the number of Designated Developers of a pilot license, or decline an application, without giving reasons.
|
|
64
|
+
|
|
65
|
+
* **Fees:** $0 USD for the initial Pilot Period.
|
|
66
|
+
|
|
67
|
+
* **Scope of Use:** Licensee is authorized to:
|
|
68
|
+
|
|
69
|
+
1. Use the complete Gridify Designer application (Layout, Ribbon, and Form editing modules) to design and generate production application code.
|
|
70
|
+
|
|
71
|
+
2. Integrate Gridify Studio into proprietary enterprise applications, internal corporate intranets, and VPN-restricted environments.
|
|
72
|
+
|
|
73
|
+
3. Deploy resulting applications into live commercial production.
|
|
74
|
+
|
|
75
|
+
* **Pilot Commitments:** In consideration of the zero-cost commercial pilot authorization, Licensee agrees to:
|
|
76
|
+
|
|
77
|
+
1. Register using a verified organizational corporate domain.
|
|
78
|
+
|
|
79
|
+
2. Provide reasonable technical feedback, architectural compatibility notes, and bug reports during the Pilot Period.
|
|
80
|
+
|
|
81
|
+
3. **Marketing & Reference (Optional):** Where Licensee affirmatively opts in via the applicable Order Form, registration form checkbox, or written communication, Licensee grants Licensor the non-exclusive right to reference Licensee as an early adopter (including corporate logo display on Licensor's website and marketing assets, subject to Licensee's standard trademark guidelines). If Licensee does not opt in, or requests anonymity, Licensor shall treat Licensee's participation as confidential.
|
|
82
|
+
|
|
83
|
+
* **Expiration & Continuity:** Upon expiration of the Pilot Period, the Covered Versions released during the Pilot Period remain licensed to Licensee perpetually: Licensee may continue to use them to develop, maintain, build, and deploy its applications, including in live commercial production, without time limit, and no remote deactivation or kill-switch applies. Versions released after the Pilot Period, updates to Gridify Designer, technical support, and access to private registry feeds require one of the commercial license tiers under Section 2.3.
|
|
84
|
+
|
|
85
|
+
#### 2.3 Commercial Production License Tiers
|
|
86
|
+
|
|
87
|
+
Subject to the timely payment of the applicable license subscription fees specified in the relevant Order Form, invoice, or current pricing schedule published on Licensor's official website (`gridify.dev`), Licensor grants Licensee a commercial, non-exclusive, non-transferable license to use the Software within internal and commercial production environments according to the designated capacity tier:
|
|
88
|
+
|
|
89
|
+
* **Tier A — Single or Small Team License:**
|
|
90
|
+
|
|
91
|
+
Authorizes **one (1) to five (5)** Designated Developers within Licensee's organization to develop, build, and utilize the Software and Gridify Designer across Licensee's applications. Each Designated Developer seat may be reassigned to another developer within the same organization no more than once every thirty (30) days.
|
|
92
|
+
|
|
93
|
+
* **Tier B — Large Team License:**
|
|
94
|
+
|
|
95
|
+
Authorizes **six (6) to nine (9)** Designated Developers within Licensee's organization to develop, build, and utilize the Software and Gridify Designer across Licensee's applications.
|
|
96
|
+
|
|
97
|
+
* **Tier C — Corporate License:**
|
|
98
|
+
|
|
99
|
+
Authorizes **ten (10) to twenty-five (25)** Designated Developers within Licensee's organization to develop, build, and utilize the Software and Gridify Designer across Licensee's applications.
|
|
100
|
+
|
|
101
|
+
* **Tier D — Enterprise Site License:**
|
|
102
|
+
|
|
103
|
+
Authorizes **twenty-six (26) or more (unlimited)** developers within the purchasing legal entity to utilize the Software and Gridify Designer. Covers unlimited internal systems, corporate intranets, private clouds, and commercial customer-facing web applications without per-seat tracking, administrative developer caps, or seat compliance audits. The fee of Tier D is agreed individually in the relevant Order Form.
|
|
104
|
+
|
|
105
|
+
**Commercial Terms:** Commercial subscriptions renew on an annual basis unless cancelled or modified in accordance with the applicable Order Form.
|
|
106
|
+
|
|
107
|
+
**Perpetual Use of Covered Versions:** Every version of the Software released while Licensee's subscription is active remains licensed to Licensee perpetually, also after the subscription ends: Licensee may continue to use such versions to develop, maintain, build, and deploy its applications without time limit, within the capacity of the tier it held. Versions released after the end of the subscription require an active subscription.
|
|
108
|
+
|
|
109
|
+
**License Key:** For each commercial or pilot license, Licensor issues a license key that identifies the license and covers its Covered Versions. An evaluation key (Section 2.1, item 4) is valid until its stated last day only. Licensee shall use the key only in its own applications covered by the license, and shall not remove, alter, or circumvent the license key check of the Software or the notices it writes.
|
|
110
|
+
|
|
111
|
+
### 3. SOURCE CODE ADD-ON & SOURCE CODE ESCROW
|
|
112
|
+
|
|
113
|
+
1. **Eligibility & Grant:** The Source Code Add-On is available exclusively as an optional add-on for Licensees holding an active **Tier D (Enterprise Site License)**. Upon payment of the applicable fee specified in the relevant Order Form, Licensor grants Licensee a non-exclusive license to inspect, audit, debug, customize, and internally recompile the complete, unminified TypeScript, SCSS, and build source files of the runtime libraries, the Angular UI components, the editors, and Gridify Designer (the **"Source Code Package"**). The documentation, the interactive tutorials, and the sample applications are part of the Software in the form in which Licensor publishes them and are not part of the Source Code Package.
|
|
114
|
+
|
|
115
|
+
2. **Internal Audit & Continuity:** The source code package is intended strictly for internal corporate compliance, independent security auditing, architectural continuity (escrow equivalence), and internal application tailoring.
|
|
116
|
+
|
|
117
|
+
3. **Strict Anti-Distribution & Non-Compete:** Licensee shall NOT under any circumstances:
|
|
118
|
+
|
|
119
|
+
* Publicly distribute, disclose, publish, sublicense, assign, sell, or circulate the source code, in whole or in part, modified or unmodified.
|
|
120
|
+
|
|
121
|
+
* Use the source code to train machine learning models, or to design, market, or distribute any UI component library, docking engine, visual designer, or RAD toolkit that directly or indirectly competes with Gridify Studio or Gridify Designer.
|
|
122
|
+
|
|
123
|
+
4. **Source Code Escrow (Tiers C and D):** Licensees holding an active **Tier C (Corporate License)** or **Tier D (Enterprise Site License)** may request, upon payment of the applicable fee specified in the relevant Order Form, that Licensor deposit the Source Code Package with an independent escrow agent under a separate escrow agreement between Licensor, Licensee, and the agent. Licensor updates the deposit at least with every major version released while Licensee's subscription is active. The deposited source code is released to Licensee only upon a release event defined in the escrow agreement, such as Licensor's insolvency or liquidation, or the discontinuation of the Software without a successor. Upon release, Licensee may use the source code solely to maintain, build, and deploy its own applications covered by its license, subject to items 2 and 3 of this Section.
|
|
124
|
+
|
|
125
|
+
### 4. PRIVACY, TELEMETRY & SECURITY GUARANTEE
|
|
126
|
+
|
|
127
|
+
* **No Kill-Switch:** Gridify Studio and Gridify Designer contain no logical time-bombs, expiring build locks, remote deactivation triggers, or administrative backdoors.
|
|
128
|
+
|
|
129
|
+
* **Zero Telemetry / Air-Gapped Ready:** The Software does not transmit telemetry, tracking analytics, runtime usage statistics, or application metadata to Licensor's servers. It is fully qualified for closed, air-gapped corporate intranets and security-hardened environments.
|
|
130
|
+
|
|
131
|
+
### 5. INTELLECTUAL PROPERTY & OWNERSHIP
|
|
132
|
+
|
|
133
|
+
* **Ownership by Licensor:** Licensor retains all worldwide rights, titles, and interests (including copyrights, patents, trademarks, and trade secrets) in and to Gridify Studio, the Gridify Designer application, runtime engines, and documentation. Licensee acquires only the limited license rights expressly granted herein.
|
|
134
|
+
|
|
135
|
+
* **Ownership by Licensee:** Licensee retains sole and exclusive ownership of any custom application logic, user data, visual designs, schemas, and source code generated by Licensee through the use of Gridify Designer.
|
|
136
|
+
|
|
137
|
+
### 6. TECHNICAL SUPPORT & MAINTENANCE DISCLAIMER
|
|
138
|
+
|
|
139
|
+
* **Best-Effort Support:** Technical support is provided on a commercially reasonable, best-effort basis primarily via asynchronous digital communication (email, support ticketing portal, or designated developer channels).
|
|
140
|
+
|
|
141
|
+
* **No Fixed Response SLA:** Licensor does not warrant, promise, or contractually guarantee fixed response times (hourly or daily), around-the-clock availability, or uninterrupted support desk operations. Support operations observe standard business hours in the Czech Republic, excluding statutory public holidays and reasonable, scheduled leaves or business interruptions.
|
|
142
|
+
|
|
143
|
+
* **No Resolution Guarantee:** Licensor agrees to investigate reproducible technical issues in good faith. However, Licensor makes no guarantee that every reported issue, defect, or platform discrepancy can or will be resolved, or that patches will be released within a defined timeframe. The provision of technical workarounds, configuration recommendations, architectural guidance, or documenting a planned update in a future release roadmap shall fully satisfy Licensor's support obligations.
|
|
144
|
+
|
|
145
|
+
* **Exclusions:** Licensor is under no obligation to debug, refactor, or diagnose issues stemming from third-party libraries, host browser memory limitations, customer-side change detection conflicts, unhandled memory leaks in user code, or architectural misuse of the Software.
|
|
146
|
+
|
|
147
|
+
### 7. DISCLAIMER OF WARRANTIES & LIMITATION OF LIABILITY
|
|
148
|
+
|
|
149
|
+
* **Disclaimer:** EXCEPT AS EXPRESSLY SET FORTH IN A SEPARATE WRITTEN ENTERPRISE AGREEMENT OR ORDER FORM, THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED.
|
|
150
|
+
|
|
151
|
+
* **Limitation of Liability:** IN NO EVENT SHALL LICENSOR BE LIABLE FOR ANY INDIRECT, SPECIAL, INCIDENTAL, PUNITIVE, OR CONSEQUENTIAL DAMAGES (INCLUDING LOSS OF PROFITS, LOSS OF DATA, OR BUSINESS INTERRUPTION) ARISING OUT OF OR IN CONNECTION WITH THIS AGREEMENT.
|
|
152
|
+
|
|
153
|
+
* **Liability Cap:** LICENSOR’S AGGREGATE CUMULATIVE LIABILITY UNDER THIS AGREEMENT SHALL BE STRICTLY LIMITED BASED ON THE LICENSE TIER UTILIZED:
|
|
154
|
+
|
|
155
|
+
1. **For Paid Commercial Licenses (Tiers A, B, C, and D):** Licensor's total aggregate liability shall not exceed the actual license subscription fees paid by Licensee to Licensor for the Software during the twelve (12) months preceding the event giving rise to the claim.
|
|
156
|
+
|
|
157
|
+
2. **For Commercial Pilot Licenses:** Licensor's total aggregate liability arising out of or related to the Pilot Period shall not exceed an aggregate amount of **$100 USD**.
|
|
158
|
+
|
|
159
|
+
3. **For Community Edition:** To the maximum extent permitted by applicable law, Licensor's total financial liability under the Community Edition is **ZERO ($0.00 USD)**. Licensor shall have no financial liability, warranty obligations, or indemnification duties whatsoever toward any Licensee utilizing the free Community Edition.
|
|
160
|
+
|
|
161
|
+
### 8. GOVERNING LAW & JURISDICTION
|
|
162
|
+
|
|
163
|
+
This Agreement is governed by and construed in accordance with the laws of the Czech Republic and the European Union, without regard to conflict of law principles. The United Nations Convention on Contracts for the International Sale of Goods (CISG) shall not apply. Any disputes arising hereunder shall be submitted to the exclusive jurisdiction of the competent courts of the Czech Republic.
|
package/README.md
CHANGED
|
@@ -1,3 +1,119 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Gridify Studio – community edition
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
An Angular library for applications that look and work like desktop software: a **docking engine** (panels, tabs, floating windows, a layout that is saved and restored), a **ribbon**, a toolbar, a menu bar and context menus, a status bar, and more than 70 controls (a grid, a tree, inputs and pickers, dialogs and message boxes, a kanban board, a chat, a code editor and others). Everything follows one set of **themes**, a **density** of the controls and the **language** of the page (English, German and Japanese are built in).
|
|
4
|
+
|
|
5
|
+
## Requirements
|
|
6
|
+
|
|
7
|
+
- Angular 21 (21.2 or newer) or Angular 22 (`@angular/core`, `@angular/common`, `@angular/forms`, `@angular/router`) and `rxjs` 7.8, which come with every Angular application. No other libraries.
|
|
8
|
+
- No `zone.js`: the library works in a zoneless application (the default of Angular), and in one with zone.js too.
|
|
9
|
+
- Standalone components. The library is built on signals and `OnPush`; its API has no observables to subscribe to.
|
|
10
|
+
|
|
11
|
+
## Installation
|
|
12
|
+
|
|
13
|
+
```
|
|
14
|
+
npm install @gridify/studio
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
When you received the package as a file, install the file instead:
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
npm install ./gridify-studio-<version>.tgz
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## Setup
|
|
24
|
+
|
|
25
|
+
**1. The global styles.** The themes, the density of the controls and the text styles are loaded once, in the global stylesheet of the application (`src/styles.scss`):
|
|
26
|
+
|
|
27
|
+
```scss
|
|
28
|
+
@use '@gridify/studio/styles';
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
**2. One import.** Everything is imported from `@gridify/studio`, there are no deep imports:
|
|
32
|
+
|
|
33
|
+
```ts
|
|
34
|
+
import {GfyAppHeader, GfyButton, GfyDockingEngine, GfyMenuBar, GfyMenu, GfyDockContainerNodeInput} from '@gridify/studio';
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
The themes, the icons and the dictionaries of the library register themselves when the package is loaded; nothing else has to be provided.
|
|
38
|
+
|
|
39
|
+
## A small application
|
|
40
|
+
|
|
41
|
+
```ts
|
|
42
|
+
import {Component} from '@angular/core';
|
|
43
|
+
import {GfyDockContainerNodeInput, GfyAppHeader, GfyDockingEngine, GfyMenu, GfyMenuBar} from '@gridify/studio';
|
|
44
|
+
|
|
45
|
+
@Component({
|
|
46
|
+
selector: 'app-root',
|
|
47
|
+
imports: [GfyAppHeader, GfyMenuBar, GfyDockingEngine],
|
|
48
|
+
template: `
|
|
49
|
+
<gfy-app-header productName="My application" preferences="theme density language" />
|
|
50
|
+
<gfy-menu-bar [menus]="menus" [shortcuts]="true" />
|
|
51
|
+
<div style="height: calc(100vh - 80px)">
|
|
52
|
+
<gfy-docking-engine [defaultLayout]="layout" viewSources />
|
|
53
|
+
</div>
|
|
54
|
+
`,
|
|
55
|
+
})
|
|
56
|
+
export class App {
|
|
57
|
+
// A row: the files on the left, the documents on the right. A tab with a tag comes back to its place when it is opened again.
|
|
58
|
+
readonly layout: GfyDockContainerNodeInput = {
|
|
59
|
+
type: 'row',
|
|
60
|
+
size: 100,
|
|
61
|
+
children: [
|
|
62
|
+
{type: 'panel', role: 'tool', size: 3, activeTab: 0, collapsed: false, tabs: [{tag: 'files', role: 'tool', title: 'Files', content: '<p>The files.</p>'}]},
|
|
63
|
+
{type: 'panel', role: 'document', size: 7, activeTab: 0, collapsed: false, tabs: [{tag: 'welcome', role: 'document', title: 'Welcome', content: '<p>Welcome.</p>'}]},
|
|
64
|
+
],
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
// The View and the Window menu of the engine (viewSources): the panels with a check mark, Restore layout, and the open documents.
|
|
68
|
+
readonly menus: GfyMenu[] = [
|
|
69
|
+
{id: 'view', label: '&View', items: [{source: 'gfy:tools'}, {separator: true}, {source: 'gfy:restore-layout'}]},
|
|
70
|
+
{id: 'window', label: '&Window', items: [{source: 'gfy:documents'}]},
|
|
71
|
+
];
|
|
72
|
+
}
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
- The engine fills its parent, so the parent needs a height.
|
|
76
|
+
- A layout saved in `localStorage` is restored on the next visit. Saving is off by default: `inject(GfyEngineSettings).setAutoSaveLayout(true)` saves after every change, `engine.saveLayout()` saves once. A key of your own (`layoutStorageKey="my-app"`) keeps the layout apart from other applications on the same address; `[layoutStorageKey]="null"` neither loads nor saves.
|
|
77
|
+
- The header lets the user choose the theme, the density and the language. From code: `inject(GfyTheme).setTheme(name)` (the names are in `themes`) and `inject(GfyI18n).setLanguage('de')`.
|
|
78
|
+
|
|
79
|
+
## License
|
|
80
|
+
|
|
81
|
+
The Community edition is free, with the entire library and Gridify Designer, for open-source and non-commercial projects, education, public institutions such as schools and libraries, and free public web applications without ads or donations. Any software that generates revenue, serves commercial purposes, shows ads or asks for donations, or runs inside a company (an intranet, a VPN, internal workstations, a paid login) needs a Commercial license, also when it is open source: https://www.gridify.dev. A team at a company may evaluate the library for 90 days per project.
|
|
82
|
+
|
|
83
|
+
A Commercial or pilot license comes with a license key, and an evaluation key is free. Give the key to the application once, among the providers of `app.config.ts`:
|
|
84
|
+
|
|
85
|
+
```ts
|
|
86
|
+
import {ApplicationConfig} from '@angular/core';
|
|
87
|
+
import {provideGridifyLicense} from '@gridify/studio';
|
|
88
|
+
|
|
89
|
+
export const appConfig: ApplicationConfig = {
|
|
90
|
+
providers: [provideGridifyLicense('eyJ2IjoxLC…')],
|
|
91
|
+
};
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
- The key is checked in the browser, offline, once after the page has loaded. Nothing is sent anywhere, and the check never stops, slows down or changes the application.
|
|
95
|
+
- With a valid key the console of the browser stays clean. Without a key, or with a key that is not valid, the console says once that this is the Community edition.
|
|
96
|
+
- To evaluate the library at a company, get a free evaluation key at https://www.gridify.dev. It keeps the console clean for 90 days; without it, or after its last day, the console shows the line of the Community edition, and nothing stops working.
|
|
97
|
+
- A key covers the versions of the library released until the last day of the updates of its license. A version released later says so in the console and works as before: keep using a version released by that day, or renew the license.
|
|
98
|
+
- White space in the key does not matter (a key copied from a mail may be broken into lines).
|
|
99
|
+
- The key holds the terms of the license and the name of the licensee. The library never writes them to the console.
|
|
100
|
+
|
|
101
|
+
The terms of use are the Gridify Studio Software License Agreement, the file `LICENSE` of this package.
|
|
102
|
+
|
|
103
|
+
## Help in the editor
|
|
104
|
+
|
|
105
|
+
Every component, input, output, model and service is documented in the declarations of the package (`types/`): the editor shows the description, the allowed values and the defaults while you type.
|
|
106
|
+
|
|
107
|
+
`REFERENCE.md` of the package is the reference of all the components in one file: every component, directive and shared part with its inputs, two-way models, outputs, methods, properties, places for content and CSS variables, their types, defaults and descriptions. A default that comes from `GfyControlDefaults` says so: change it for the whole application with `provideGfyControlDefaults`.
|
|
108
|
+
|
|
109
|
+
## What the package holds
|
|
110
|
+
|
|
111
|
+
| Folder | Content |
|
|
112
|
+
| -------------- | --------------------------------------------------------------------------------------------------------------- |
|
|
113
|
+
| `fesm2022/` | The library, compiled for the Angular linker (the Angular CLI finishes the compilation when it builds your app) |
|
|
114
|
+
| `types/` | The declarations, with their documentation |
|
|
115
|
+
| `styles/` | The entry of the global styles (`@use '@gridify/studio/styles'`) |
|
|
116
|
+
| `gfy-common/` | The stylesheets of the themes, the density, the typography and the colors of code |
|
|
117
|
+
| `REFERENCE.md` | The reference of all the components (generated from the sources) |
|
|
118
|
+
|
|
119
|
+
The community edition contains no source code of the library.
|