Merge pull request 'component/ structure cleanup feature/68-component-cleanup' (#70) from feature/68-component-cleanup into dev
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: #70
362
LICENSE
Normal file
@ -0,0 +1,362 @@
|
|||||||
|
Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International Creative
|
||||||
|
Commons Corporation ("Creative Commons") is not a law firm and does not provide
|
||||||
|
legal services or legal advice. Distribution of Creative Commons public licenses
|
||||||
|
does not create a lawyer-client or other relationship. Creative Commons makes
|
||||||
|
its licenses and related information available on an "as-is" basis. Creative
|
||||||
|
Commons gives no warranties regarding its licenses, any material licensed
|
||||||
|
under their terms and conditions, or any related information. Creative Commons
|
||||||
|
disclaims all liability for damages resulting from their use to the fullest
|
||||||
|
extent possible.
|
||||||
|
|
||||||
|
Using Creative Commons Public Licenses
|
||||||
|
|
||||||
|
Creative Commons public licenses provide a standard set of terms and conditions
|
||||||
|
that creators and other rights holders may use to share original works of
|
||||||
|
authorship and other material subject to copyright and certain other rights
|
||||||
|
specified in the public license below. The following considerations are for
|
||||||
|
informational purposes only, are not exhaustive, and do not form part of our
|
||||||
|
licenses.
|
||||||
|
|
||||||
|
Considerations for licensors: Our public licenses are intended for use by
|
||||||
|
those authorized to give the public permission to use material in ways otherwise
|
||||||
|
restricted by copyright and certain other rights. Our licenses are irrevocable.
|
||||||
|
Licensors should read and understand the terms and conditions of the license
|
||||||
|
they choose before applying it. Licensors should also secure all rights necessary
|
||||||
|
before applying our licenses so that the public can reuse the material as
|
||||||
|
expected. Licensors should clearly mark any material not subject to the license.
|
||||||
|
This includes other CC-licensed material, or material used under an exception
|
||||||
|
or limitation to copyright. More considerations for licensors : wiki.creativecommons.org/Considerations_for_licensors
|
||||||
|
|
||||||
|
Considerations for the public: By using one of our public licenses, a licensor
|
||||||
|
grants the public permission to use the licensed material under specified
|
||||||
|
terms and conditions. If the licensor's permission is not necessary for any
|
||||||
|
reason–for example, because of any applicable exception or limitation to copyright–then
|
||||||
|
that use is not regulated by the license. Our licenses grant only permissions
|
||||||
|
under copyright and certain other rights that a licensor has authority to
|
||||||
|
grant. Use of the licensed material may still be restricted for other reasons,
|
||||||
|
including because others have copyright or other rights in the material. A
|
||||||
|
licensor may make special requests, such as asking that all changes be marked
|
||||||
|
or described. Although not required by our licenses, you are encouraged to
|
||||||
|
respect those requests where reasonable. More considerations for the public
|
||||||
|
: wiki.creativecommons.org/Considerations_for_licensees
|
||||||
|
|
||||||
|
Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International Public
|
||||||
|
License
|
||||||
|
|
||||||
|
By exercising the Licensed Rights (defined below), You accept and agree to
|
||||||
|
be bound by the terms and conditions of this Creative Commons Attribution-NonCommercial-ShareAlike
|
||||||
|
4.0 International Public License ("Public License"). To the extent this Public
|
||||||
|
License may be interpreted as a contract, You are granted the Licensed Rights
|
||||||
|
in consideration of Your acceptance of these terms and conditions, and the
|
||||||
|
Licensor grants You such rights in consideration of benefits the Licensor
|
||||||
|
receives from making the Licensed Material available under these terms and
|
||||||
|
conditions.
|
||||||
|
|
||||||
|
Section 1 – Definitions.
|
||||||
|
|
||||||
|
a. Adapted Material means material subject to Copyright and Similar Rights
|
||||||
|
that is derived from or based upon the Licensed Material and in which the
|
||||||
|
Licensed Material is translated, altered, arranged, transformed, or otherwise
|
||||||
|
modified in a manner requiring permission under the Copyright and Similar
|
||||||
|
Rights held by the Licensor. For purposes of this Public License, where the
|
||||||
|
Licensed Material is a musical work, performance, or sound recording, Adapted
|
||||||
|
Material is always produced where the Licensed Material is synched in timed
|
||||||
|
relation with a moving image.
|
||||||
|
|
||||||
|
b. Adapter's License means the license You apply to Your Copyright and Similar
|
||||||
|
Rights in Your contributions to Adapted Material in accordance with the terms
|
||||||
|
and conditions of this Public License.
|
||||||
|
|
||||||
|
c. BY-NC-SA Compatible License means a license listed at creativecommons.org/compatiblelicenses,
|
||||||
|
approved by Creative Commons as essentially the equivalent of this Public
|
||||||
|
License.
|
||||||
|
|
||||||
|
d. Copyright and Similar Rights means copyright and/or similar rights closely
|
||||||
|
related to copyright including, without limitation, performance, broadcast,
|
||||||
|
sound recording, and Sui Generis Database Rights, without regard to how the
|
||||||
|
rights are labeled or categorized. For purposes of this Public License, the
|
||||||
|
rights specified in Section 2(b)(1)-(2) are not Copyright and Similar Rights.
|
||||||
|
|
||||||
|
e. Effective Technological Measures means those measures that, in the absence
|
||||||
|
of proper authority, may not be circumvented under laws fulfilling obligations
|
||||||
|
under Article 11 of the WIPO Copyright Treaty adopted on December 20, 1996,
|
||||||
|
and/or similar international agreements.
|
||||||
|
|
||||||
|
f. Exceptions and Limitations means fair use, fair dealing, and/or any other
|
||||||
|
exception or limitation to Copyright and Similar Rights that applies to Your
|
||||||
|
use of the Licensed Material.
|
||||||
|
|
||||||
|
g. License Elements means the license attributes listed in the name of a Creative
|
||||||
|
Commons Public License. The License Elements of this Public License are Attribution,
|
||||||
|
NonCommercial, and ShareAlike.
|
||||||
|
|
||||||
|
h. Licensed Material means the artistic or literary work, database, or other
|
||||||
|
material to which the Licensor applied this Public License.
|
||||||
|
|
||||||
|
i. Licensed Rights means the rights granted to You subject to the terms and
|
||||||
|
conditions of this Public License, which are limited to all Copyright and
|
||||||
|
Similar Rights that apply to Your use of the Licensed Material and that the
|
||||||
|
Licensor has authority to license.
|
||||||
|
|
||||||
|
j. Licensor means the individual(s) or entity(ies) granting rights under this
|
||||||
|
Public License.
|
||||||
|
|
||||||
|
k. NonCommercial means not primarily intended for or directed towards commercial
|
||||||
|
advantage or monetary compensation. For purposes of this Public License, the
|
||||||
|
exchange of the Licensed Material for other material subject to Copyright
|
||||||
|
and Similar Rights by digital file-sharing or similar means is NonCommercial
|
||||||
|
provided there is no payment of monetary compensation in connection with the
|
||||||
|
exchange.
|
||||||
|
|
||||||
|
l. Share means to provide material to the public by any means or process that
|
||||||
|
requires permission under the Licensed Rights, such as reproduction, public
|
||||||
|
display, public performance, distribution, dissemination, communication, or
|
||||||
|
importation, and to make material available to the public including in ways
|
||||||
|
that members of the public may access the material from a place and at a time
|
||||||
|
individually chosen by them.
|
||||||
|
|
||||||
|
m. Sui Generis Database Rights means rights other than copyright resulting
|
||||||
|
from Directive 96/9/EC of the European Parliament and of the Council of 11
|
||||||
|
March 1996 on the legal protection of databases, as amended and/or succeeded,
|
||||||
|
as well as other essentially equivalent rights anywhere in the world.
|
||||||
|
|
||||||
|
n. You means the individual or entity exercising the Licensed Rights under
|
||||||
|
this Public License. Your has a corresponding meaning.
|
||||||
|
|
||||||
|
Section 2 – Scope.
|
||||||
|
|
||||||
|
a. License grant.
|
||||||
|
|
||||||
|
1. Subject to the terms and conditions of this Public License, the Licensor
|
||||||
|
hereby grants You a worldwide, royalty-free, non-sublicensable, non-exclusive,
|
||||||
|
irrevocable license to exercise the Licensed Rights in the Licensed Material
|
||||||
|
to:
|
||||||
|
|
||||||
|
A. reproduce and Share the Licensed Material, in whole or in part, for NonCommercial
|
||||||
|
purposes only; and
|
||||||
|
|
||||||
|
B. produce, reproduce, and Share Adapted Material for NonCommercial purposes
|
||||||
|
only.
|
||||||
|
|
||||||
|
2. Exceptions and Limitations. For the avoidance of doubt, where Exceptions
|
||||||
|
and Limitations apply to Your use, this Public License does not apply, and
|
||||||
|
You do not need to comply with its terms and conditions.
|
||||||
|
|
||||||
|
3. Term. The term of this Public License is specified in Section 6(a).
|
||||||
|
|
||||||
|
4. Media and formats; technical modifications allowed. The Licensor authorizes
|
||||||
|
You to exercise the Licensed Rights in all media and formats whether now known
|
||||||
|
or hereafter created, and to make technical modifications necessary to do
|
||||||
|
so. The Licensor waives and/or agrees not to assert any right or authority
|
||||||
|
to forbid You from making technical modifications necessary to exercise the
|
||||||
|
Licensed Rights, including technical modifications necessary to circumvent
|
||||||
|
Effective Technological Measures. For purposes of this Public License, simply
|
||||||
|
making modifications authorized by this Section 2(a)(4) never produces Adapted
|
||||||
|
Material.
|
||||||
|
|
||||||
|
5. Downstream recipients.
|
||||||
|
|
||||||
|
A. Offer from the Licensor – Licensed Material. Every recipient of the Licensed
|
||||||
|
Material automatically receives an offer from the Licensor to exercise the
|
||||||
|
Licensed Rights under the terms and conditions of this Public License.
|
||||||
|
|
||||||
|
B. Additional offer from the Licensor – Adapted Material. Every recipient
|
||||||
|
of Adapted Material from You automatically receives an offer from the Licensor
|
||||||
|
to exercise the Licensed Rights in the Adapted Material under the conditions
|
||||||
|
of the Adapter's License You apply.
|
||||||
|
|
||||||
|
C. No downstream restrictions. You may not offer or impose any additional
|
||||||
|
or different terms or conditions on, or apply any Effective Technological
|
||||||
|
Measures to, the Licensed Material if doing so restricts exercise of the Licensed
|
||||||
|
Rights by any recipient of the Licensed Material.
|
||||||
|
|
||||||
|
6. No endorsement. Nothing in this Public License constitutes or may be construed
|
||||||
|
as permission to assert or imply that You are, or that Your use of the Licensed
|
||||||
|
Material is, connected with, or sponsored, endorsed, or granted official status
|
||||||
|
by, the Licensor or others designated to receive attribution as provided in
|
||||||
|
Section 3(a)(1)(A)(i).
|
||||||
|
|
||||||
|
b. Other rights.
|
||||||
|
|
||||||
|
1. Moral rights, such as the right of integrity, are not licensed under this
|
||||||
|
Public License, nor are publicity, privacy, and/or other similar personality
|
||||||
|
rights; however, to the extent possible, the Licensor waives and/or agrees
|
||||||
|
not to assert any such rights held by the Licensor to the limited extent necessary
|
||||||
|
to allow You to exercise the Licensed Rights, but not otherwise.
|
||||||
|
|
||||||
|
2. Patent and trademark rights are not licensed under this Public License.
|
||||||
|
|
||||||
|
3. To the extent possible, the Licensor waives any right to collect royalties
|
||||||
|
from You for the exercise of the Licensed Rights, whether directly or through
|
||||||
|
a collecting society under any voluntary or waivable statutory or compulsory
|
||||||
|
licensing scheme. In all other cases the Licensor expressly reserves any right
|
||||||
|
to collect such royalties, including when the Licensed Material is used other
|
||||||
|
than for NonCommercial purposes.
|
||||||
|
|
||||||
|
Section 3 – License Conditions.
|
||||||
|
|
||||||
|
Your exercise of the Licensed Rights is expressly made subject to the following
|
||||||
|
conditions.
|
||||||
|
|
||||||
|
a. Attribution.
|
||||||
|
|
||||||
|
1. If You Share the Licensed Material (including in modified form), You must:
|
||||||
|
|
||||||
|
A. retain the following if it is supplied by the Licensor with the Licensed
|
||||||
|
Material:
|
||||||
|
|
||||||
|
i. identification of the creator(s) of the Licensed Material and any others
|
||||||
|
designated to receive attribution, in any reasonable manner requested by the
|
||||||
|
Licensor (including by pseudonym if designated);
|
||||||
|
|
||||||
|
ii. a copyright notice;
|
||||||
|
|
||||||
|
iii. a notice that refers to this Public License;
|
||||||
|
|
||||||
|
iv. a notice that refers to the disclaimer of warranties;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
v. a URI or hyperlink to the Licensed Material to the extent reasonably practicable;
|
||||||
|
|
||||||
|
B. indicate if You modified the Licensed Material and retain an indication
|
||||||
|
of any previous modifications; and
|
||||||
|
|
||||||
|
C. indicate the Licensed Material is licensed under this Public License, and
|
||||||
|
include the text of, or the URI or hyperlink to, this Public License.
|
||||||
|
|
||||||
|
2. You may satisfy the conditions in Section 3(a)(1) in any reasonable manner
|
||||||
|
based on the medium, means, and context in which You Share the Licensed Material.
|
||||||
|
For example, it may be reasonable to satisfy the conditions by providing a
|
||||||
|
URI or hyperlink to a resource that includes the required information.
|
||||||
|
|
||||||
|
3. If requested by the Licensor, You must remove any of the information required
|
||||||
|
by Section 3(a)(1)(A) to the extent reasonably practicable.
|
||||||
|
|
||||||
|
b. ShareAlike.In addition to the conditions in Section 3(a), if You Share
|
||||||
|
Adapted Material You produce, the following conditions also apply.
|
||||||
|
|
||||||
|
1. The Adapter's License You apply must be a Creative Commons license with
|
||||||
|
the same License Elements, this version or later, or a BY-NC-SA Compatible
|
||||||
|
License.
|
||||||
|
|
||||||
|
2. You must include the text of, or the URI or hyperlink to, the Adapter's
|
||||||
|
License You apply. You may satisfy this condition in any reasonable manner
|
||||||
|
based on the medium, means, and context in which You Share Adapted Material.
|
||||||
|
|
||||||
|
3. You may not offer or impose any additional or different terms or conditions
|
||||||
|
on, or apply any Effective Technological Measures to, Adapted Material that
|
||||||
|
restrict exercise of the rights granted under the Adapter's License You apply.
|
||||||
|
|
||||||
|
Section 4 – Sui Generis Database Rights.
|
||||||
|
|
||||||
|
Where the Licensed Rights include Sui Generis Database Rights that apply to
|
||||||
|
Your use of the Licensed Material:
|
||||||
|
|
||||||
|
a. for the avoidance of doubt, Section 2(a)(1) grants You the right to extract,
|
||||||
|
reuse, reproduce, and Share all or a substantial portion of the contents of
|
||||||
|
the database for NonCommercial purposes only;
|
||||||
|
|
||||||
|
b. if You include all or a substantial portion of the database contents in
|
||||||
|
a database in which You have Sui Generis Database Rights, then the database
|
||||||
|
in which You have Sui Generis Database Rights (but not its individual contents)
|
||||||
|
is Adapted Material, including for purposes of Section 3(b); and
|
||||||
|
|
||||||
|
c. You must comply with the conditions in Section 3(a) if You Share all or
|
||||||
|
a substantial portion of the contents of the database.
|
||||||
|
|
||||||
|
For the avoidance of doubt, this Section 4 supplements and does not replace
|
||||||
|
Your obligations under this Public License where the Licensed Rights include
|
||||||
|
other Copyright and Similar Rights.
|
||||||
|
|
||||||
|
Section 5 – Disclaimer of Warranties and Limitation of Liability.
|
||||||
|
|
||||||
|
a. Unless otherwise separately undertaken by the Licensor, to the extent possible,
|
||||||
|
the Licensor offers the Licensed Material as-is and as-available, and makes
|
||||||
|
no representations or warranties of any kind concerning the Licensed Material,
|
||||||
|
whether express, implied, statutory, or other. This includes, without limitation,
|
||||||
|
warranties of title, merchantability, fitness for a particular purpose, non-infringement,
|
||||||
|
absence of latent or other defects, accuracy, or the presence or absence of
|
||||||
|
errors, whether or not known or discoverable. Where disclaimers of warranties
|
||||||
|
are not allowed in full or in part, this disclaimer may not apply to You.
|
||||||
|
|
||||||
|
b. To the extent possible, in no event will the Licensor be liable to You
|
||||||
|
on any legal theory (including, without limitation, negligence) or otherwise
|
||||||
|
for any direct, special, indirect, incidental, consequential, punitive, exemplary,
|
||||||
|
or other losses, costs, expenses, or damages arising out of this Public License
|
||||||
|
or use of the Licensed Material, even if the Licensor has been advised of
|
||||||
|
the possibility of such losses, costs, expenses, or damages. Where a limitation
|
||||||
|
of liability is not allowed in full or in part, this limitation may not apply
|
||||||
|
to You.
|
||||||
|
|
||||||
|
c. The disclaimer of warranties and limitation of liability provided above
|
||||||
|
shall be interpreted in a manner that, to the extent possible, most closely
|
||||||
|
approximates an absolute disclaimer and waiver of all liability.
|
||||||
|
|
||||||
|
Section 6 – Term and Termination.
|
||||||
|
|
||||||
|
a. This Public License applies for the term of the Copyright and Similar Rights
|
||||||
|
licensed here. However, if You fail to comply with this Public License, then
|
||||||
|
Your rights under this Public License terminate automatically.
|
||||||
|
|
||||||
|
b. Where Your right to use the Licensed Material has terminated under Section
|
||||||
|
6(a), it reinstates:
|
||||||
|
|
||||||
|
1. automatically as of the date the violation is cured, provided it is cured
|
||||||
|
within 30 days of Your discovery of the violation; or
|
||||||
|
|
||||||
|
2. upon express reinstatement by the Licensor.
|
||||||
|
|
||||||
|
For the avoidance of doubt, this Section 6(b) does not affect any right the
|
||||||
|
Licensor may have to seek remedies for Your violations of this Public License.
|
||||||
|
|
||||||
|
c. For the avoidance of doubt, the Licensor may also offer the Licensed Material
|
||||||
|
under separate terms or conditions or stop distributing the Licensed Material
|
||||||
|
at any time; however, doing so will not terminate this Public License.
|
||||||
|
|
||||||
|
d. Sections 1, 5, 6, 7, and 8 survive termination of this Public License.
|
||||||
|
|
||||||
|
Section 7 – Other Terms and Conditions.
|
||||||
|
|
||||||
|
a. The Licensor shall not be bound by any additional or different terms or
|
||||||
|
conditions communicated by You unless expressly agreed.
|
||||||
|
|
||||||
|
b. Any arrangements, understandings, or agreements regarding the Licensed
|
||||||
|
Material not stated herein are separate from and independent of the terms
|
||||||
|
and conditions of this Public License.
|
||||||
|
|
||||||
|
Section 8 – Interpretation.
|
||||||
|
|
||||||
|
a. For the avoidance of doubt, this Public License does not, and shall not
|
||||||
|
be interpreted to, reduce, limit, restrict, or impose conditions on any use
|
||||||
|
of the Licensed Material that could lawfully be made without permission under
|
||||||
|
this Public License.
|
||||||
|
|
||||||
|
b. To the extent possible, if any provision of this Public License is deemed
|
||||||
|
unenforceable, it shall be automatically reformed to the minimum extent necessary
|
||||||
|
to make it enforceable. If the provision cannot be reformed, it shall be severed
|
||||||
|
from this Public License without affecting the enforceability of the remaining
|
||||||
|
terms and conditions.
|
||||||
|
|
||||||
|
c. No term or condition of this Public License will be waived and no failure
|
||||||
|
to comply consented to unless expressly agreed to by the Licensor.
|
||||||
|
|
||||||
|
d. Nothing in this Public License constitutes or may be interpreted as a limitation
|
||||||
|
upon, or waiver of, any privileges and immunities that apply to the Licensor
|
||||||
|
or You, including from the legal processes of any jurisdiction or authority.
|
||||||
|
|
||||||
|
Creative Commons is not a party to its public licenses. Notwithstanding, Creative
|
||||||
|
Commons may elect to apply one of its public licenses to material it publishes
|
||||||
|
and in those instances will be considered the "Licensor." The text of the
|
||||||
|
Creative Commons public licenses is dedicated to the public domain under the
|
||||||
|
CC0 Public Domain Dedication. Except for the limited purpose of indicating
|
||||||
|
that material is shared under a Creative Commons public license or as otherwise
|
||||||
|
permitted by the Creative Commons policies published at creativecommons.org/policies,
|
||||||
|
Creative Commons does not authorize the use of the trademark "Creative Commons"
|
||||||
|
or any other trademark or logo of Creative Commons without its prior written
|
||||||
|
consent including, without limitation, in connection with any unauthorized
|
||||||
|
modifications to any of its public licenses or any other arrangements, understandings,
|
||||||
|
or agreements concerning use of licensed material. For the avoidance of doubt,
|
||||||
|
this paragraph does not form part of the public licenses.
|
||||||
|
|
||||||
|
Creative Commons may be contacted at creativecommons.org.
|
@ -11,15 +11,14 @@
|
|||||||
"release": "release-it",
|
"release": "release-it",
|
||||||
"licenses:export": "license-exporter --json -o public"
|
"licenses:export": "license-exporter --json -o public"
|
||||||
},
|
},
|
||||||
|
"license": "CC-BY-NC-SA-4.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@odit/lfk-client-js": "0.4.5",
|
"@odit/lfk-client-js": "0.4.5",
|
||||||
"csvtojson": "^2.0.10",
|
"csvtojson": "^2.0.10",
|
||||||
"filepond": "4.25.1",
|
|
||||||
"gridjs": "3.3.0",
|
"gridjs": "3.3.0",
|
||||||
"localforage": "1.9.0",
|
"localforage": "1.9.0",
|
||||||
"lodash.isequal": "^4.5.0",
|
"lodash.isequal": "^4.5.0",
|
||||||
"marked": "^2.0.0",
|
"marked": "^2.0.0",
|
||||||
"svelte-filepond": "0.0.1",
|
|
||||||
"svelte-focus-trap": "1.0.1",
|
"svelte-focus-trap": "1.0.1",
|
||||||
"svelte-i18n": "3.3.2",
|
"svelte-i18n": "3.3.2",
|
||||||
"svelte-select": "^3.16.1",
|
"svelte-select": "^3.16.1",
|
||||||
@ -30,7 +29,7 @@
|
|||||||
"xlsx": "^0.16.9"
|
"xlsx": "^0.16.9"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@odit/license-exporter": "0.0.9",
|
"@odit/license-exporter": "^0.0.10",
|
||||||
"@snowpack/plugin-svelte": "3.5.2",
|
"@snowpack/plugin-svelte": "3.5.2",
|
||||||
"auto-changelog": "^2.2.1",
|
"auto-changelog": "^2.2.1",
|
||||||
"autoprefixer": "10.2.4",
|
"autoprefixer": "10.2.4",
|
||||||
|
@ -28,33 +28,33 @@
|
|||||||
description: "LfK! admin dashbaord",
|
description: "LfK! admin dashbaord",
|
||||||
});
|
});
|
||||||
//
|
//
|
||||||
import Login from "./components/Login.svelte";
|
import Login from "./components/auth/Login.svelte";
|
||||||
import Dashboard from "./components/Dashboard.svelte";
|
import Dashboard from "./components/dashboard/Dashboard.svelte";
|
||||||
import store from "./store.js";
|
import store from "./store.js";
|
||||||
import ForgotPassword from "./components/ForgotPassword.svelte";
|
import ForgotPassword from "./components/auth/ForgotPassword.svelte";
|
||||||
import MainDashContent from "./components/MainDashContent.svelte";
|
import MainDashContent from "./components/dashboard/MainDashContent.svelte";
|
||||||
import Users from "./components/Users.svelte";
|
import Users from "./components/users/Users.svelte";
|
||||||
import About from "./components/About.svelte";
|
import About from "./components/general/About.svelte";
|
||||||
import Settings from "./components/Settings.svelte";
|
import Settings from "./components/general/Settings.svelte";
|
||||||
import Transition from "./components/Transition.svelte";
|
import Transition from "./components/base/Transition.svelte";
|
||||||
import Orgs from "./components/Orgs.svelte";
|
import Orgs from "./components/orgs/Orgs.svelte";
|
||||||
import Runners from "./components/Runners.svelte";
|
import Runners from "./components/runners/Runners.svelte";
|
||||||
import Footer from "./components/Footer.svelte";
|
import Footer from "./components/general/Footer.svelte";
|
||||||
import TracksOverview from "./components/TracksOverview.svelte";
|
import TracksOverview from "./components/tracks/TracksOverview.svelte";
|
||||||
import OrgDetail from "./components/OrgDetail.svelte";
|
import OrgDetail from "./components/orgs/OrgDetail.svelte";
|
||||||
import Teams from "./components/Teams.svelte";
|
import Teams from "./components/teams/Teams.svelte";
|
||||||
import { OpenAPI } from "@odit/lfk-client-js";
|
import { OpenAPI } from "@odit/lfk-client-js";
|
||||||
import UserDetail from "./components/UserDetail.svelte";
|
import UserDetail from "./components/users/UserDetail.svelte";
|
||||||
OpenAPI.BASE = config.baseurl;
|
OpenAPI.BASE = config.baseurl;
|
||||||
import { register as registerSW } from "./swmodule";
|
import { register as registerSW } from "./swmodule";
|
||||||
import TeamDetail from "./components/TeamDetail.svelte";
|
import TeamDetail from "./components/teams/TeamDetail.svelte";
|
||||||
import UserPermissions from "./components/UserPermissions.svelte";
|
import UserPermissions from "./components/users/UserPermissions.svelte";
|
||||||
import RunnerDetail from "./components/RunnerDetail.svelte";
|
import RunnerDetail from "./components/runners/RunnerDetail.svelte";
|
||||||
import Imprint from "./components/Imprint.svelte";
|
import Imprint from "./components/general/Imprint.svelte";
|
||||||
import Privacy from "./components/Privacy.svelte";
|
import Privacy from "./components/general/Privacy.svelte";
|
||||||
import ResetPassword from "./components/ResetPassword.svelte";
|
import ResetPassword from "./components/auth/ResetPassword.svelte";
|
||||||
import Contacts from "./components/Contacts.svelte";
|
import Contacts from "./components/contacts/Contacts.svelte";
|
||||||
import ContactDetail from "./components/ContactDetail.svelte";
|
import ContactDetail from "./components/contacts/ContactDetail.svelte";
|
||||||
store.init();
|
store.init();
|
||||||
registerSW();
|
registerSW();
|
||||||
</script>
|
</script>
|
||||||
|
@ -1,74 +0,0 @@
|
|||||||
<script>
|
|
||||||
import "filepond/dist/filepond.css";
|
|
||||||
import FilePond from "svelte-filepond";
|
|
||||||
import { _ } from "svelte-i18n";
|
|
||||||
let pond;
|
|
||||||
// pond.getFiles() will return the active files
|
|
||||||
// the name to use for the internal file input
|
|
||||||
let name = "filepond";
|
|
||||||
function handleInit() {
|
|
||||||
// console.log("FilePond has initialised");
|
|
||||||
}
|
|
||||||
function handleAddFile(err, fileItem) {
|
|
||||||
// console.log("A file has been added", fileItem);
|
|
||||||
}
|
|
||||||
const labelInvalidField = $_("filepond__field-contains-invalid-files");
|
|
||||||
const labelFileWaitingForSize = $_("filepond__waiting-for-size");
|
|
||||||
const labelFileSizeNotAvailable = $_("filepond__size-not-available");
|
|
||||||
const labelFileLoading = $_("filepond__loading");
|
|
||||||
const labelFileLoadError = $_("filepond__error-during-load");
|
|
||||||
const labelFileProcessing = $_("filepond__uploading");
|
|
||||||
const labelFileProcessingComplete = $_("filepond__upload-complete");
|
|
||||||
const labelFileProcessingAborted = $_("filepond__upload-cancelled");
|
|
||||||
const labelFileProcessingError = $_("filepond__error-during-upload");
|
|
||||||
const labelFileProcessingRevertError = $_("filepond__error-during-revert");
|
|
||||||
const labelFileRemoveError = $_("filepond__error-during-remove");
|
|
||||||
const labelTapToCancel = $_("filepond__tap-to-cancel");
|
|
||||||
const labelTapToRetry = $_("filepond__tap-to-retry");
|
|
||||||
const labelTapToUndo = $_("filepond__tap-to-undo");
|
|
||||||
const labelButtonRemoveItem = $_("filepond__remove");
|
|
||||||
const labelButtonAbortItemLoad = $_("filepond__abort");
|
|
||||||
const labelButtonRetryItemLoad = $_("filepond__retry");
|
|
||||||
const labelButtonAbortItemProcessing = $_("filepond__cancel");
|
|
||||||
const labelButtonUndoItemProcessing = $_("filepond__undo");
|
|
||||||
const labelButtonRetryItemProcessing = $_("filepond__retry");
|
|
||||||
const labelButtonProcessItem = $_("filepond__upload");
|
|
||||||
const labelIdle =
|
|
||||||
$_("drag-and-drop-your-files-or") +
|
|
||||||
` <span class="filepond--label-action"> ` +
|
|
||||||
$_("browse") +
|
|
||||||
` </span>`;
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<div class="app">
|
|
||||||
<FilePond
|
|
||||||
bind:this={pond}
|
|
||||||
{name}
|
|
||||||
{labelFileWaitingForSize}
|
|
||||||
{labelFileSizeNotAvailable}
|
|
||||||
{labelFileLoading}
|
|
||||||
{labelFileLoadError}
|
|
||||||
{labelFileProcessing}
|
|
||||||
{labelFileProcessingComplete}
|
|
||||||
{labelFileProcessingAborted}
|
|
||||||
{labelFileProcessingError}
|
|
||||||
{labelFileProcessingRevertError}
|
|
||||||
{labelFileRemoveError}
|
|
||||||
{labelTapToCancel}
|
|
||||||
{labelTapToRetry}
|
|
||||||
{labelTapToUndo}
|
|
||||||
{labelButtonRemoveItem}
|
|
||||||
{labelButtonAbortItemLoad}
|
|
||||||
{labelButtonRetryItemLoad}
|
|
||||||
{labelButtonAbortItemProcessing}
|
|
||||||
{labelButtonUndoItemProcessing}
|
|
||||||
{labelButtonRetryItemProcessing}
|
|
||||||
{labelButtonProcessItem}
|
|
||||||
{labelIdle}
|
|
||||||
{labelInvalidField}
|
|
||||||
server="/api"
|
|
||||||
allowMultiple={false}
|
|
||||||
credits={false}
|
|
||||||
oninit={handleInit}
|
|
||||||
onaddfile={handleAddFile} />
|
|
||||||
</div>
|
|
@ -1,5 +0,0 @@
|
|||||||
<script>
|
|
||||||
import { _, locale } from "svelte-i18n";
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<div>$locale $_('hallo')</div>
|
|
@ -11,8 +11,6 @@
|
|||||||
if (isEmail(usersEmail)) {
|
if (isEmail(usersEmail)) {
|
||||||
AuthService.authControllerGetResetToken({ email: usersEmail })
|
AuthService.authControllerGetResetToken({ email: usersEmail })
|
||||||
.then((resp) => {
|
.then((resp) => {
|
||||||
console.log(resp);
|
|
||||||
console.log(resp.resetToken);
|
|
||||||
Toastify({
|
Toastify({
|
||||||
text: $_("mail-validation-in-progress"),
|
text: $_("mail-validation-in-progress"),
|
||||||
duration: 3500,
|
duration: 3500,
|
||||||
@ -20,8 +18,6 @@
|
|||||||
reset_mail_sent = true;
|
reset_mail_sent = true;
|
||||||
})
|
})
|
||||||
.catch((err) => {
|
.catch((err) => {
|
||||||
console.log(err.body.name);
|
|
||||||
console.log(err.body.message);
|
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
Toastify({
|
Toastify({
|
@ -1,10 +1,10 @@
|
|||||||
<script>
|
<script>
|
||||||
import store from "../store.js";
|
import store from "../../store.js";
|
||||||
import localForage from "localforage";
|
import localForage from "localforage";
|
||||||
import { _ } from "svelte-i18n";
|
import { _ } from "svelte-i18n";
|
||||||
store.init();
|
store.init();
|
||||||
import { OpenAPI, AuthService } from "@odit/lfk-client-js";
|
import { OpenAPI, AuthService } from "@odit/lfk-client-js";
|
||||||
import Footer from "./Footer.svelte";
|
import Footer from "../general/Footer.svelte";
|
||||||
import Toastify from "toastify-js";
|
import Toastify from "toastify-js";
|
||||||
// ------
|
// ------
|
||||||
let username = "demo";
|
let username = "demo";
|
@ -1,6 +1,6 @@
|
|||||||
<script>
|
<script>
|
||||||
import { _ } from "svelte-i18n";
|
import { _ } from "svelte-i18n";
|
||||||
import { clickOutside } from "./outsideclick";
|
import { clickOutside } from "../base/outsideclick";
|
||||||
import { focusTrap } from "svelte-focus-trap";
|
import { focusTrap } from "svelte-focus-trap";
|
||||||
import {
|
import {
|
||||||
GroupContactService,
|
GroupContactService,
|
||||||
@ -183,7 +183,6 @@
|
|||||||
<h3 class="text-lg leading-6 font-medium text-gray-900">
|
<h3 class="text-lg leading-6 font-medium text-gray-900">
|
||||||
{$_('create-a-new-contact')}
|
{$_('create-a-new-contact')}
|
||||||
</h3>
|
</h3>
|
||||||
<p>{selected_team}</p>
|
|
||||||
<div class="mt-2 mb-6">
|
<div class="mt-2 mb-6">
|
||||||
<p class="text-sm text-gray-500">
|
<p class="text-sm text-gray-500">
|
||||||
Please provide the required information to add a new contact.
|
Please provide the required information to add a new contact.
|
@ -1,13 +1,13 @@
|
|||||||
<script>
|
<script>
|
||||||
import { _ } from "svelte-i18n";
|
import { _ } from "svelte-i18n";
|
||||||
import store from "../store";
|
import store from "../../store";
|
||||||
import {
|
import {
|
||||||
GroupContactService,
|
GroupContactService,
|
||||||
RunnerTeamService,
|
RunnerTeamService,
|
||||||
RunnerOrganizationService,
|
RunnerOrganizationService,
|
||||||
} from "@odit/lfk-client-js";
|
} from "@odit/lfk-client-js";
|
||||||
import Toastify from "toastify-js";
|
import Toastify from "toastify-js";
|
||||||
import PromiseError from "./PromiseError.svelte";
|
import PromiseError from "../base/PromiseError.svelte";
|
||||||
import isEmail from "validator/es/lib/isEmail";
|
import isEmail from "validator/es/lib/isEmail";
|
||||||
let data_loaded = false;
|
let data_loaded = false;
|
||||||
let orgs = [];
|
let orgs = [];
|
@ -1,6 +1,6 @@
|
|||||||
<script>
|
<script>
|
||||||
import { _ } from "svelte-i18n";
|
import { _ } from "svelte-i18n";
|
||||||
import store from "../store";
|
import store from "../../store";
|
||||||
import AddContactModal from "./AddContactModal.svelte";
|
import AddContactModal from "./AddContactModal.svelte";
|
||||||
import ContactsOverview from "./ContactsOverview.svelte";
|
import ContactsOverview from "./ContactsOverview.svelte";
|
||||||
export let modal_open = false;
|
export let modal_open = false;
|
@ -1,7 +1,7 @@
|
|||||||
<script>
|
<script>
|
||||||
import { _ } from "svelte-i18n";
|
import { _ } from "svelte-i18n";
|
||||||
import AddContactModal from "./AddContactModal.svelte";
|
import AddContactModal from "./AddContactModal.svelte";
|
||||||
import team_empty from "./team_empty.svg";
|
import team_empty from "../teams/team_empty.svg";
|
||||||
let modal_open = false;
|
let modal_open = false;
|
||||||
let current_contacts = [];
|
let current_contacts = [];
|
||||||
</script>
|
</script>
|
@ -7,7 +7,7 @@
|
|||||||
current_contacts = result;
|
current_contacts = result;
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
import store from "../store";
|
import store from "../../store";
|
||||||
import ContactsEmptyState from "./ContactsEmptyState.svelte";
|
import ContactsEmptyState from "./ContactsEmptyState.svelte";
|
||||||
$: searchvalue = "";
|
$: searchvalue = "";
|
||||||
$: active_deletes = [];
|
$: active_deletes = [];
|
@ -1,9 +1,9 @@
|
|||||||
<script>
|
<script>
|
||||||
import { _ } from "svelte-i18n";
|
import { _ } from "svelte-i18n";
|
||||||
import localForage from "localforage";
|
import localForage from "localforage";
|
||||||
import store from "../store";
|
import store from "../../store";
|
||||||
import { router } from "tinro";
|
import { router } from "tinro";
|
||||||
import NoComponentLoaded from "./NoComponentLoaded.svelte";
|
import NoComponentLoaded from "../base/NoComponentLoaded.svelte";
|
||||||
import { AuthService } from "@odit/lfk-client-js";
|
import { AuthService } from "@odit/lfk-client-js";
|
||||||
let dropdown1 = false;
|
let dropdown1 = false;
|
||||||
$: navOpen = false;
|
$: navOpen = false;
|
@ -1,7 +1,7 @@
|
|||||||
<script>
|
<script>
|
||||||
import { _ } from "svelte-i18n";
|
import { _ } from "svelte-i18n";
|
||||||
import StatCards from "./StatCards.svelte";
|
import StatCards from "./StatCards.svelte";
|
||||||
import store from "../store";
|
import store from "../../store";
|
||||||
let navOpen = false;
|
let navOpen = false;
|
||||||
</script>
|
</script>
|
||||||
|
|
@ -1,6 +1,6 @@
|
|||||||
<script>
|
<script>
|
||||||
import { _ } from "svelte-i18n";
|
import { _ } from "svelte-i18n";
|
||||||
import { clickOutside } from "./outsideclick";
|
import { clickOutside } from "../base/outsideclick";
|
||||||
import { focusTrap } from "svelte-focus-trap";
|
import { focusTrap } from "svelte-focus-trap";
|
||||||
export let modal_open;
|
export let modal_open;
|
||||||
(function () {
|
(function () {
|
@ -1,8 +1,8 @@
|
|||||||
<script>
|
<script>
|
||||||
import { _, getLocaleFromNavigator } from "svelte-i18n";
|
import { _, getLocaleFromNavigator } from "svelte-i18n";
|
||||||
import * as css from "./simple.css";
|
|
||||||
import marked from "marked";
|
import marked from "marked";
|
||||||
import Footer from "./Footer.svelte";
|
import Footer from "./Footer.svelte";
|
||||||
|
import * as css from "../base/simple.css";
|
||||||
let html = "";
|
let html = "";
|
||||||
async function load() {
|
async function load() {
|
||||||
let md = await fetch("/imprint_" + getLocaleFromNavigator() + ".md");
|
let md = await fetch("/imprint_" + getLocaleFromNavigator() + ".md");
|
@ -1,8 +1,8 @@
|
|||||||
<script>
|
<script>
|
||||||
import { _, getLocaleFromNavigator } from "svelte-i18n";
|
import { _, getLocaleFromNavigator } from "svelte-i18n";
|
||||||
import * as css from "./simple.css";
|
|
||||||
import marked from "marked";
|
import marked from "marked";
|
||||||
import Footer from "./Footer.svelte";
|
import Footer from "./Footer.svelte";
|
||||||
|
import * as css from "../base/simple.css";
|
||||||
let html = "";
|
let html = "";
|
||||||
async function load() {
|
async function load() {
|
||||||
let md = await fetch("/privacy_" + getLocaleFromNavigator() + ".md");
|
let md = await fetch("/privacy_" + getLocaleFromNavigator() + ".md");
|
@ -1,6 +1,6 @@
|
|||||||
<script>
|
<script>
|
||||||
import { _ } from "svelte-i18n";
|
import { _ } from "svelte-i18n";
|
||||||
import FormLayout from "./FormLayout.svelte";
|
import FormLayout from "../base/FormLayout.svelte";
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<div class="pt-12 px-4 sm:px-6 lg:px-8 lg:pt-20 bg-gray-900 pb-12">
|
<div class="pt-12 px-4 sm:px-6 lg:px-8 lg:pt-20 bg-gray-900 pb-12">
|
@ -1,6 +1,6 @@
|
|||||||
<script>
|
<script>
|
||||||
import { _ } from "svelte-i18n";
|
import { _ } from "svelte-i18n";
|
||||||
import { clickOutside } from "./outsideclick";
|
import { clickOutside } from "../base/outsideclick";
|
||||||
import { focusTrap } from "svelte-focus-trap";
|
import { focusTrap } from "svelte-focus-trap";
|
||||||
import { RunnerOrganizationService } from "@odit/lfk-client-js";
|
import { RunnerOrganizationService } from "@odit/lfk-client-js";
|
||||||
import Toastify from "toastify-js";
|
import Toastify from "toastify-js";
|
||||||
@ -41,7 +41,6 @@
|
|||||||
contact: undefined,
|
contact: undefined,
|
||||||
})
|
})
|
||||||
.then((result) => {
|
.then((result) => {
|
||||||
console.log(result);
|
|
||||||
name = "";
|
name = "";
|
||||||
modal_open = false;
|
modal_open = false;
|
||||||
//
|
//
|
@ -1,6 +1,6 @@
|
|||||||
<script>
|
<script>
|
||||||
import { _ } from "svelte-i18n";
|
import { _ } from "svelte-i18n";
|
||||||
import { clickOutside } from "./outsideclick";
|
import { clickOutside } from "../base/outsideclick";
|
||||||
import { focusTrap } from "svelte-focus-trap";
|
import { focusTrap } from "svelte-focus-trap";
|
||||||
import { RunnerOrganizationService } from "@odit/lfk-client-js";
|
import { RunnerOrganizationService } from "@odit/lfk-client-js";
|
||||||
import Toastify from "toastify-js";
|
import Toastify from "toastify-js";
|
@ -5,10 +5,10 @@
|
|||||||
} from "@odit/lfk-client-js";
|
} from "@odit/lfk-client-js";
|
||||||
import { _ } from "svelte-i18n";
|
import { _ } from "svelte-i18n";
|
||||||
import Toastify from "toastify-js";
|
import Toastify from "toastify-js";
|
||||||
import store from "../store";
|
import store from "../../store";
|
||||||
import ConfirmOrgDeletion from "./ConfirmOrgDeletion.svelte";
|
import ConfirmOrgDeletion from "./ConfirmOrgDeletion.svelte";
|
||||||
import ImportRunnerModal from "./ImportRunnerModal.svelte";
|
import ImportRunnerModal from "../runners/ImportRunnerModal.svelte";
|
||||||
import PromiseError from "./PromiseError.svelte";
|
import PromiseError from "../base/PromiseError.svelte";
|
||||||
$: delete_triggered = false;
|
$: delete_triggered = false;
|
||||||
$: save_enabled = !data_changed;
|
$: save_enabled = !data_changed;
|
||||||
export let params;
|
export let params;
|
||||||
@ -35,22 +35,22 @@
|
|||||||
let modal_open = false;
|
let modal_open = false;
|
||||||
let delete_org = {};
|
let delete_org = {};
|
||||||
function deleteOrganization() {
|
function deleteOrganization() {
|
||||||
// RunnerOrganizationService.runnerOrganizationControllerRemove(
|
RunnerOrganizationService.runnerOrganizationControllerRemove(
|
||||||
// original.id,
|
original.id,
|
||||||
// false
|
false
|
||||||
// )
|
)
|
||||||
// .then((resp) => {
|
.then((resp) => {
|
||||||
// Toastify({
|
Toastify({
|
||||||
// text: "Organization deleted",
|
text: "Organization deleted",
|
||||||
// duration: 500,
|
duration: 500,
|
||||||
// backgroundColor: "linear-gradient(to right, #00b09b, #96c93d)",
|
backgroundColor: "linear-gradient(to right, #00b09b, #96c93d)",
|
||||||
// }).showToast();
|
}).showToast();
|
||||||
// location.replace("./");
|
location.replace("./");
|
||||||
// })
|
})
|
||||||
// .catch((err) => {
|
.catch((err) => {
|
||||||
modal_open = true;
|
modal_open = true;
|
||||||
delete_org = original;
|
delete_org = original;
|
||||||
// });
|
});
|
||||||
}
|
}
|
||||||
function submit() {
|
function submit() {
|
||||||
if (data_loaded === true && save_enabled) {
|
if (data_loaded === true && save_enabled) {
|
@ -3,7 +3,7 @@
|
|||||||
let modal_open = false;
|
let modal_open = false;
|
||||||
let delete_org = {};
|
let delete_org = {};
|
||||||
import { RunnerOrganizationService } from "@odit/lfk-client-js";
|
import { RunnerOrganizationService } from "@odit/lfk-client-js";
|
||||||
import store from "../store";
|
import store from "../../store";
|
||||||
import OrgsEmptyState from "./OrgsEmptyState.svelte";
|
import OrgsEmptyState from "./OrgsEmptyState.svelte";
|
||||||
import Toastify from "toastify-js";
|
import Toastify from "toastify-js";
|
||||||
import ConfirmOrgDeletion from "./ConfirmOrgDeletion.svelte";
|
import ConfirmOrgDeletion from "./ConfirmOrgDeletion.svelte";
|
@ -1,10 +1,10 @@
|
|||||||
<script>
|
<script>
|
||||||
import { _ } from "svelte-i18n";
|
import { _ } from "svelte-i18n";
|
||||||
import store from "../store";
|
import store from "../../store";
|
||||||
import AddOrgModal from "./AddOrgModal.svelte";
|
import AddOrgModal from "./AddOrgModal.svelte";
|
||||||
export let modal_open = false;
|
export let modal_open = false;
|
||||||
import OrgOverview from "./OrgOverview.svelte";
|
import OrgOverview from "./OrgOverview.svelte";
|
||||||
import ImportRunnerModal from "./ImportRunnerModal.svelte";
|
import ImportRunnerModal from "../runners/ImportRunnerModal.svelte";
|
||||||
let current_organizations = [];
|
let current_organizations = [];
|
||||||
export let import_modal_open = false;
|
export let import_modal_open = false;
|
||||||
</script>
|
</script>
|
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 25 KiB |
@ -1,6 +1,6 @@
|
|||||||
<script>
|
<script>
|
||||||
import { _ } from "svelte-i18n";
|
import { _ } from "svelte-i18n";
|
||||||
import { clickOutside } from "./outsideclick";
|
import { clickOutside } from "../base/outsideclick";
|
||||||
import { focusTrap } from "svelte-focus-trap";
|
import { focusTrap } from "svelte-focus-trap";
|
||||||
import {
|
import {
|
||||||
RunnerService,
|
RunnerService,
|
@ -2,7 +2,7 @@
|
|||||||
import csv from "csvtojson";
|
import csv from "csvtojson";
|
||||||
import { read as readXlsx, utils as xlsx_utils } from "xlsx";
|
import { read as readXlsx, utils as xlsx_utils } from "xlsx";
|
||||||
import { _ } from "svelte-i18n";
|
import { _ } from "svelte-i18n";
|
||||||
import { clickOutside } from "./outsideclick";
|
import { clickOutside } from "../base/outsideclick";
|
||||||
import { focusTrap } from "svelte-focus-trap";
|
import { focusTrap } from "svelte-focus-trap";
|
||||||
import Toastify from "toastify-js";
|
import Toastify from "toastify-js";
|
||||||
import {
|
import {
|
@ -1,14 +1,14 @@
|
|||||||
<script>
|
<script>
|
||||||
import { _ } from "svelte-i18n";
|
import { _ } from "svelte-i18n";
|
||||||
import lodashIsEqual from "lodash.isequal";
|
import lodashIsEqual from "lodash.isequal";
|
||||||
import store from "../store";
|
import store from "../../store";
|
||||||
import {
|
import {
|
||||||
RunnerService,
|
RunnerService,
|
||||||
RunnerTeamService,
|
RunnerTeamService,
|
||||||
RunnerOrganizationService,
|
RunnerOrganizationService,
|
||||||
} from "@odit/lfk-client-js";
|
} from "@odit/lfk-client-js";
|
||||||
import Toastify from "toastify-js";
|
import Toastify from "toastify-js";
|
||||||
import PromiseError from "./PromiseError.svelte";
|
import PromiseError from "../base/PromiseError.svelte";
|
||||||
import isEmail from "validator/es/lib/isEmail";
|
import isEmail from "validator/es/lib/isEmail";
|
||||||
let data_loaded = false;
|
let data_loaded = false;
|
||||||
export let params;
|
export let params;
|
@ -1,6 +1,6 @@
|
|||||||
<script>
|
<script>
|
||||||
import { _ } from "svelte-i18n";
|
import { _ } from "svelte-i18n";
|
||||||
import store from "../store";
|
import store from "../../store";
|
||||||
import AddRunnerModal from "./AddRunnerModal.svelte";
|
import AddRunnerModal from "./AddRunnerModal.svelte";
|
||||||
import ImportRunnerModal from "./ImportRunnerModal.svelte";
|
import ImportRunnerModal from "./ImportRunnerModal.svelte";
|
||||||
import RunnersOverview from "./RunnersOverview.svelte";
|
import RunnersOverview from "./RunnersOverview.svelte";
|
@ -2,7 +2,7 @@
|
|||||||
import { _ } from "svelte-i18n";
|
import { _ } from "svelte-i18n";
|
||||||
import { RunnerService,RunnerTeamService,
|
import { RunnerService,RunnerTeamService,
|
||||||
RunnerOrganizationService, } from "@odit/lfk-client-js";
|
RunnerOrganizationService, } from "@odit/lfk-client-js";
|
||||||
import store from "../store";
|
import store from "../../store";
|
||||||
import RunnersEmptyState from "./RunnersEmptyState.svelte";
|
import RunnersEmptyState from "./RunnersEmptyState.svelte";
|
||||||
import Select from 'svelte-select';
|
import Select from 'svelte-select';
|
||||||
$: searchvalue = "";
|
$: searchvalue = "";
|
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 3.2 KiB |
@ -1,6 +1,6 @@
|
|||||||
<script>
|
<script>
|
||||||
import { _ } from "svelte-i18n";
|
import { _ } from "svelte-i18n";
|
||||||
import { clickOutside } from "./outsideclick";
|
import { clickOutside } from "../base/outsideclick";
|
||||||
import { focusTrap } from "svelte-focus-trap";
|
import { focusTrap } from "svelte-focus-trap";
|
||||||
import {
|
import {
|
||||||
RunnerOrganizationService,
|
RunnerOrganizationService,
|
@ -1,6 +1,6 @@
|
|||||||
<script>
|
<script>
|
||||||
import { _ } from "svelte-i18n";
|
import { _ } from "svelte-i18n";
|
||||||
import { clickOutside } from "./outsideclick";
|
import { clickOutside } from "../base/outsideclick";
|
||||||
import { focusTrap } from "svelte-focus-trap";
|
import { focusTrap } from "svelte-focus-trap";
|
||||||
import { RunnerTeamService } from "@odit/lfk-client-js";
|
import { RunnerTeamService } from "@odit/lfk-client-js";
|
||||||
import Toastify from "toastify-js";
|
import Toastify from "toastify-js";
|
@ -6,9 +6,9 @@
|
|||||||
} from "@odit/lfk-client-js";
|
} from "@odit/lfk-client-js";
|
||||||
import { _ } from "svelte-i18n";
|
import { _ } from "svelte-i18n";
|
||||||
import Toastify from "toastify-js";
|
import Toastify from "toastify-js";
|
||||||
import store from "../store";
|
import store from "../../store";
|
||||||
import ImportRunnerModal from "./ImportRunnerModal.svelte";
|
import ImportRunnerModal from "../runners/ImportRunnerModal.svelte";
|
||||||
import PromiseError from "./PromiseError.svelte";
|
import PromiseError from "../base/PromiseError.svelte";
|
||||||
import ConfirmTeamDeletion from "./ConfirmTeamDeletion.svelte";
|
import ConfirmTeamDeletion from "./ConfirmTeamDeletion.svelte";
|
||||||
let [teamdata, original, delete_team, orgs, contacts, modal_open] = [
|
let [teamdata, original, delete_team, orgs, contacts, modal_open] = [
|
||||||
{},
|
{},
|
@ -1,10 +1,9 @@
|
|||||||
<script>
|
<script>
|
||||||
import { _ } from "svelte-i18n";
|
import { _ } from "svelte-i18n";
|
||||||
import store from "../store";
|
import store from "../../store";
|
||||||
import AddTeamModal from "./AddTeamModal.svelte";
|
import AddTeamModal from "./AddTeamModal.svelte";
|
||||||
export let modal_open = false;
|
export let modal_open = false;
|
||||||
import TeamsOverview from "./TeamsOverview.svelte";
|
import TeamsOverview from "./TeamsOverview.svelte";
|
||||||
console.log(store.state.jwtinfo.userdetails.permissions);
|
|
||||||
let current_teams=[];
|
let current_teams=[];
|
||||||
</script>
|
</script>
|
||||||
|
|
@ -3,8 +3,7 @@
|
|||||||
import Toastify from "toastify-js";
|
import Toastify from "toastify-js";
|
||||||
import { RunnerTeamService } from "@odit/lfk-client-js";
|
import { RunnerTeamService } from "@odit/lfk-client-js";
|
||||||
const teams_promise = RunnerTeamService.runnerTeamControllerGetAll();
|
const teams_promise = RunnerTeamService.runnerTeamControllerGetAll();
|
||||||
import { users as usersstore } from "../store.js";
|
import store, { users as usersstore } from "../../store.js";
|
||||||
import store from "../store";
|
|
||||||
import TeamsEmptyState from "./TeamsEmptyState.svelte";
|
import TeamsEmptyState from "./TeamsEmptyState.svelte";
|
||||||
import ConfirmTeamDeletion from "./ConfirmTeamDeletion.svelte";
|
import ConfirmTeamDeletion from "./ConfirmTeamDeletion.svelte";
|
||||||
$: searchvalue = "";
|
$: searchvalue = "";
|
Before Width: | Height: | Size: 52 KiB After Width: | Height: | Size: 52 KiB |
@ -1,8 +1,8 @@
|
|||||||
<script>
|
<script>
|
||||||
import { _ } from "svelte-i18n";
|
import { _ } from "svelte-i18n";
|
||||||
import { clickOutside } from "./outsideclick";
|
import { clickOutside } from "../base/outsideclick";
|
||||||
import { focusTrap } from "svelte-focus-trap";
|
import { focusTrap } from "svelte-focus-trap";
|
||||||
import { tracks as tracksstore } from "../store.js";
|
import { tracks as tracksstore } from "../../store.js";
|
||||||
import { TrackService } from "@odit/lfk-client-js";
|
import { TrackService } from "@odit/lfk-client-js";
|
||||||
import Toastify from "toastify-js";
|
import Toastify from "toastify-js";
|
||||||
import "toastify-js/src/toastify.css";
|
import "toastify-js/src/toastify.css";
|
@ -4,9 +4,9 @@
|
|||||||
import TracksEmptyState from "./TracksEmptyState.svelte";
|
import TracksEmptyState from "./TracksEmptyState.svelte";
|
||||||
import { TrackService } from "@odit/lfk-client-js";
|
import { TrackService } from "@odit/lfk-client-js";
|
||||||
const tracks_promise = TrackService.trackControllerGetAll();
|
const tracks_promise = TrackService.trackControllerGetAll();
|
||||||
import { getlang } from "./datatable_i18n";
|
import { getlang } from "../base/datatable_i18n";
|
||||||
import { Grid, html } from "gridjs";
|
import { Grid, html } from "gridjs";
|
||||||
import { tracks as tracksstore } from "../store.js";
|
import { tracks as tracksstore } from "../../store.js";
|
||||||
$: trackscache = [];
|
$: trackscache = [];
|
||||||
$: blocked = [];
|
$: blocked = [];
|
||||||
let table;
|
let table;
|
||||||
@ -62,7 +62,6 @@
|
|||||||
elem.childNodes[2].innerHTML = `<td data-column-id="trackName" class="gridjs-td">${elem.childNodes[2].childNodes[0].value}</td>`;
|
elem.childNodes[2].innerHTML = `<td data-column-id="trackName" class="gridjs-td">${elem.childNodes[2].childNodes[0].value}</td>`;
|
||||||
})
|
})
|
||||||
.catch((err) => {
|
.catch((err) => {
|
||||||
console.error(err);
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@ -93,7 +92,6 @@
|
|||||||
renderdatatable();
|
renderdatatable();
|
||||||
})
|
})
|
||||||
.catch((err) => {
|
.catch((err) => {
|
||||||
console.log(err);
|
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
window.track__edit_handler = () => {
|
window.track__edit_handler = () => {
|
@ -1,6 +1,6 @@
|
|||||||
<script>
|
<script>
|
||||||
import { _ } from "svelte-i18n";
|
import { _ } from "svelte-i18n";
|
||||||
import { clickOutside } from "./outsideclick";
|
import { clickOutside } from "../base/outsideclick";
|
||||||
import { focusTrap } from "svelte-focus-trap";
|
import { focusTrap } from "svelte-focus-trap";
|
||||||
import { UserService } from "@odit/lfk-client-js";
|
import { UserService } from "@odit/lfk-client-js";
|
||||||
import isEmail from "validator/es/lib/isEmail";
|
import isEmail from "validator/es/lib/isEmail";
|
@ -1,11 +1,11 @@
|
|||||||
<script>
|
<script>
|
||||||
import { _ } from "svelte-i18n";
|
import { _ } from "svelte-i18n";
|
||||||
import lodashIsEqual from "lodash.isequal";
|
import lodashIsEqual from "lodash.isequal";
|
||||||
import store from "../store";
|
import store from "../../store";
|
||||||
import isEmail from "validator/es/lib/isEmail";
|
import isEmail from "validator/es/lib/isEmail";
|
||||||
import { UserService, UserGroupService } from "@odit/lfk-client-js";
|
import { UserService, UserGroupService } from "@odit/lfk-client-js";
|
||||||
import Toastify from "toastify-js";
|
import Toastify from "toastify-js";
|
||||||
import PromiseError from "./PromiseError.svelte";
|
import PromiseError from "../base/PromiseError.svelte";
|
||||||
export let params;
|
export let params;
|
||||||
const user_promise = UserService.userControllerGetOne(params.userid);
|
const user_promise = UserService.userControllerGetOne(params.userid);
|
||||||
let data_loaded = false;
|
let data_loaded = false;
|
@ -6,7 +6,7 @@
|
|||||||
CreatePermission,
|
CreatePermission,
|
||||||
} from "@odit/lfk-client-js";
|
} from "@odit/lfk-client-js";
|
||||||
import Toastify from "toastify-js";
|
import Toastify from "toastify-js";
|
||||||
import PromiseError from "./PromiseError.svelte";
|
import PromiseError from "../base/PromiseError.svelte";
|
||||||
export let params;
|
export let params;
|
||||||
let [
|
let [
|
||||||
grantedPermissions_initial,
|
grantedPermissions_initial,
|
@ -1,10 +1,9 @@
|
|||||||
<script>
|
<script>
|
||||||
import { _ } from "svelte-i18n";
|
import { _ } from "svelte-i18n";
|
||||||
import store from "../store";
|
import store from "../../store";
|
||||||
import AddUserModal from "./AddUserModal.svelte";
|
import AddUserModal from "./AddUserModal.svelte";
|
||||||
export let modal_open = false;
|
export let modal_open = false;
|
||||||
import UsersOverview from "./UsersOverview.svelte";
|
import UsersOverview from "./UsersOverview.svelte";
|
||||||
console.log(store.state.jwtinfo.userdetails.permissions);
|
|
||||||
let current_users=[];
|
let current_users=[];
|
||||||
</script>
|
</script>
|
||||||
|
|
@ -2,8 +2,7 @@
|
|||||||
import { _ } from "svelte-i18n";
|
import { _ } from "svelte-i18n";
|
||||||
import { UserService } from "@odit/lfk-client-js";
|
import { UserService } from "@odit/lfk-client-js";
|
||||||
const users_promise = UserService.userControllerGetAll();
|
const users_promise = UserService.userControllerGetAll();
|
||||||
import { users as usersstore } from "../store.js";
|
import store, { users as usersstore } from "../../store.js";
|
||||||
import store from "../store";
|
|
||||||
import UsersEmptyState from "./UsersEmptyState.svelte";
|
import UsersEmptyState from "./UsersEmptyState.svelte";
|
||||||
$: searchvalue = "";
|
$: searchvalue = "";
|
||||||
$: active_deletes = [];
|
$: active_deletes = [];
|
Before Width: | Height: | Size: 7.6 KiB After Width: | Height: | Size: 7.6 KiB |
@ -23,9 +23,7 @@ const store = () => {
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
refreshAuth() {
|
refreshAuth() {
|
||||||
console.log('refreshing auth');
|
|
||||||
AuthService.authControllerRefresh({ token: state.auth.refresh_token }).then((auth) => {
|
AuthService.authControllerRefresh({ token: state.auth.refresh_token }).then((auth) => {
|
||||||
console.log('got new auth');
|
|
||||||
OpenAPI.TOKEN = auth.access_token;
|
OpenAPI.TOKEN = auth.access_token;
|
||||||
const jwtinfo = JSON.parse(atob(auth.access_token.split('.')[1]));
|
const jwtinfo = JSON.parse(atob(auth.access_token.split('.')[1]));
|
||||||
state.jwtinfo = jwtinfo;
|
state.jwtinfo = jwtinfo;
|
||||||
|