mirror of
https://github.com/documize/community.git
synced 2025-07-18 20:59:43 +02:00
Change add-ons to use new UI framework
This commit is contained in:
parent
e140caff55
commit
89957c8278
20 changed files with 301 additions and 258 deletions
|
@ -157,7 +157,6 @@ func (p *Provider) Refresh(ctx *provider.Context, config, data string) (newData
|
|||
func auth(ctx *provider.Context, store *store.Store, w http.ResponseWriter, r *http.Request) {
|
||||
defer r.Body.Close()
|
||||
body, err := ioutil.ReadAll(r.Body)
|
||||
|
||||
if err != nil {
|
||||
provider.WriteMessage(w, "gemini", "Bad payload")
|
||||
return
|
||||
|
@ -165,7 +164,6 @@ func auth(ctx *provider.Context, store *store.Store, w http.ResponseWriter, r *h
|
|||
|
||||
var config = geminiConfig{}
|
||||
err = json.Unmarshal(body, &config)
|
||||
|
||||
if err != nil {
|
||||
provider.WriteMessage(w, "gemini", "Bad payload")
|
||||
return
|
||||
|
@ -177,30 +175,26 @@ func auth(ctx *provider.Context, store *store.Store, w http.ResponseWriter, r *h
|
|||
provider.WriteMessage(w, "gemini", "Missing URL value")
|
||||
return
|
||||
}
|
||||
|
||||
if len(config.Username) == 0 {
|
||||
provider.WriteMessage(w, "gemini", "Missing Username value")
|
||||
return
|
||||
}
|
||||
|
||||
if len(config.APIKey) == 0 {
|
||||
provider.WriteMessage(w, "gemini", "Missing APIKey value")
|
||||
return
|
||||
}
|
||||
|
||||
creds := []byte(fmt.Sprintf("%s:%s", config.Username, config.APIKey))
|
||||
|
||||
req, err := http.NewRequest("GET", fmt.Sprintf("%s/api/users/username/%s", config.URL, config.Username), nil)
|
||||
req.Header.Set("Authorization", "Basic "+base64.StdEncoding.EncodeToString(creds))
|
||||
|
||||
client := &http.Client{}
|
||||
res, err := client.Do(req)
|
||||
|
||||
if err != nil {
|
||||
provider.WriteError(w, "gemini", err)
|
||||
fmt.Println(err)
|
||||
return
|
||||
}
|
||||
|
||||
if res.StatusCode != http.StatusOK {
|
||||
provider.WriteForbidden(w)
|
||||
return
|
||||
|
@ -213,9 +207,9 @@ func auth(ctx *provider.Context, store *store.Store, w http.ResponseWriter, r *h
|
|||
|
||||
dec := json.NewDecoder(res.Body)
|
||||
err = dec.Decode(&g)
|
||||
|
||||
if err != nil {
|
||||
provider.WriteError(w, "gemini", err)
|
||||
fmt.Println(err)
|
||||
return
|
||||
}
|
||||
|
||||
|
|
|
@ -217,7 +217,8 @@ let constants = EmberObject.extend({
|
|||
Category: 'dicon-flag',
|
||||
Checkbox: 'dicon-shape-rectangle',
|
||||
CheckboxChecked: 'dicon-i-check',
|
||||
Copy: 'dicon-single-copy-04',
|
||||
Copy: 'dicon-copy',
|
||||
Cross: 'dicon-i-remove',
|
||||
Database: 'dicon-database',
|
||||
Download: 'dicon-download',
|
||||
Delete: 'dicon-bin',
|
||||
|
@ -227,9 +228,10 @@ let constants = EmberObject.extend({
|
|||
Export2: 'dicon-upload',
|
||||
Filter: 'dicon-sort-tool',
|
||||
Grid1: 'dicon-grid-interface',
|
||||
Handshake: 'handshake',
|
||||
Handshake: 'dicon-handshake',
|
||||
Index: 'dicon-align-justify',
|
||||
Integrations: 'dicon-geometry',
|
||||
Link: 'dicon-link',
|
||||
ListBullet: 'dicon-list-bullet-2',
|
||||
Locked: 'dicon-lock',
|
||||
NotAllowed: 'dicon-ban',
|
||||
|
@ -238,12 +240,17 @@ let constants = EmberObject.extend({
|
|||
Plus: 'dicon-e-add',
|
||||
Person: 'dicon-single-01',
|
||||
People: 'dicon-multiple-19',
|
||||
Preview: 'dicon-preview',
|
||||
Remove: 'dicon-i-remove',
|
||||
RemoveUser: 'dicon-delete-28',
|
||||
Search: 'dicon-magnifier',
|
||||
Send: 'dicon-send',
|
||||
Settings: 'dicon-settings-gear',
|
||||
Tag: 'dicon-delete-key',
|
||||
TickSmall: 'dicon-d-check',
|
||||
Tick: 'dicon-check',
|
||||
TickSingle: 'dicon-check-single',
|
||||
TickDouble: 'dicon-check-double',
|
||||
TimeBack: 'dicon-time',
|
||||
TriangleSmallUp: 'dicon-small-triangle-up',
|
||||
TriangleSmallDown: 'dicon-small-triangle-down',
|
||||
|
@ -263,6 +270,7 @@ let constants = EmberObject.extend({
|
|||
Label: { // eslint-disable-line ember/avoid-leaking-state-in-ember-objects
|
||||
Add: 'Add',
|
||||
Activate: "Activate",
|
||||
Authenticate: 'Authenticate',
|
||||
Cancel: 'Cancel',
|
||||
Close: 'Close',
|
||||
Delete: 'Delete',
|
||||
|
|
|
@ -1,25 +1,14 @@
|
|||
{{#layout/top-bar}}
|
||||
<li class="item">
|
||||
{{#link-to "folder.index" model.folder.id model.folder.slug class="link"}}
|
||||
{{model.folder.name}}
|
||||
{{/link-to}}
|
||||
</li>
|
||||
<li class="item">
|
||||
{{#link-to "document.index" model.folder.id model.folder.slug model.document.id model.document.slug class="link selected"}}
|
||||
{{model.document.name}}
|
||||
{{/link-to}}
|
||||
</li>
|
||||
{{/layout/top-bar}}
|
||||
{{#layout/master-sidebar}}
|
||||
{{ui/ui-spacer size=300}}
|
||||
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<div class="mt-5">
|
||||
{{document/document-editor document=model.document folder=model.folder page=model.page meta=model.meta onCancel=(action "onCancel") onAction=(action "onAction")}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="section">
|
||||
{{#link-to "document.index" model.folder.id model.folder.slug model.document.id model.document.slug}}
|
||||
{{ui/ui-button color=constants.Color.Yellow light=true icon=constants.Icon.ArrowLeft label="Document"}}
|
||||
{{/link-to}}
|
||||
</div>
|
||||
</div>
|
||||
{{/layout/master-sidebar}}
|
||||
|
||||
{{#layout/bottom-bar}}
|
||||
{{/layout/bottom-bar}}
|
||||
{{#layout/master-content}}
|
||||
{{document/document-editor document=model.document folder=model.folder page=model.page meta=model.meta
|
||||
onCancel=(action "onCancel") onAction=(action "onAction")}}
|
||||
{{/layout/master-content}}
|
||||
|
|
|
@ -379,7 +379,7 @@ icons
|
|||
content: "\ea42";
|
||||
}
|
||||
|
||||
.dicon-single-copy-04::before {
|
||||
.dicon-copy::before {
|
||||
content: "\ea43";
|
||||
}
|
||||
|
||||
|
@ -438,3 +438,27 @@ icons
|
|||
.dicon-ban::before {
|
||||
content: "\ea53";
|
||||
}
|
||||
|
||||
.dicon-check-single::before {
|
||||
content: "\ea54";
|
||||
}
|
||||
|
||||
.dicon-check-double::before {
|
||||
content: "\ea55";
|
||||
}
|
||||
|
||||
.dicon-check::before {
|
||||
content: "\ea56";
|
||||
}
|
||||
|
||||
.dicon-d-check::before {
|
||||
content: "\ea57";
|
||||
}
|
||||
|
||||
.dicon-preview::before {
|
||||
content: "\ea58";
|
||||
}
|
||||
|
||||
.dicon-link::before {
|
||||
content: "\ea59";
|
||||
}
|
||||
|
|
|
@ -25,6 +25,10 @@ $display-break-5: 1800px;
|
|||
justify-self: self-start;
|
||||
}
|
||||
|
||||
.grid-cell-width-100 {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
// X-axis alignment
|
||||
.grid-cell-left {
|
||||
justify-self: self-end;
|
||||
|
|
|
@ -1,12 +1,8 @@
|
|||
.section-editor {
|
||||
> .edit-title {
|
||||
margin: 16px 0;
|
||||
}
|
||||
|
||||
> .canvas {
|
||||
// margin: 34px 0 0 0;
|
||||
padding: 30px 20px;
|
||||
box-shadow: 0 0 0 0.75pt map-get($gray-shades, 200),0 0 3pt 0.75pt map-get($gray-shades, 200);
|
||||
border: 1px solid map-get($gray-shades, 200);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
{{layout/logo-heading
|
||||
title="Airtable"
|
||||
desc="Part spreadsheet, part database, and entirely flexible (https://airtable.com)"
|
||||
icon=constants.Icon.Integrations}}
|
||||
|
||||
{{#section/base-editor document=document folder=folder page=page isDirty=(action "isDirty") onCancel=(action "onCancel") onAction=(action "onAction")}}
|
||||
<div class="form-group">
|
||||
<label for="airtable-embed-code">Airtable embed code</label>
|
||||
|
|
|
@ -1,47 +1,46 @@
|
|||
<div id="section-editor-{{pageId}}">
|
||||
<div class="row">
|
||||
<div class="col-8 section-editor">
|
||||
{{#if blockMode}}
|
||||
<div class="form-group">
|
||||
{{focus-input id="page-id-{{pageId}}" value=pageTitle class=(if hasNameError "form-control mousetrap form-control-lg edit-title is-invalid" "form-control form-control-lg edit-title mousetrap") placeholder="Enter name"}}
|
||||
</div>
|
||||
<div class="form-group">
|
||||
{{textarea id="page-excerpt-{{pageId}}" value=page.excerpt rows="2" class=(if hasDescError "form-control mousetrap form-control-lg edit-title is-invalid" "form-control form-control-lg edit-title mousetrap") placeholder="Enter description"}}
|
||||
</div>
|
||||
{{else}}
|
||||
<div class="form-group">
|
||||
{{focus-input type="text" id=pageId value=pageTitle class=(if hasNameError "form-control mousetrap form-control-lg edit-title is-invalid" "form-control form-control-lg edit-title mousetrap") placeholder="Enter name"}}
|
||||
</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
<div class="col-4">
|
||||
<div class="float-right">
|
||||
{{#if busy}}
|
||||
<img src="/assets/img/busy-gray.gif" class="busy-indicator">
|
||||
{{/if}}
|
||||
|
||||
{{#if contentLinkerButton}}
|
||||
<div class="btn btn-primary" id="section-editor-link-button-{{pageId}}" {{action "onShowLinkModal"}}>
|
||||
Link
|
||||
{{#attach-tooltip showDelay=1000}}Insert Link{{/attach-tooltip}}
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
{{#if previewButton}}
|
||||
<div class="btn btn-primary" id="section-editor-preview-button-{{pageId}}" {{action "onPreview"}}>{{previewText}}</div>
|
||||
{{/if}}
|
||||
|
||||
<div class="btn btn-success" {{action "onAction"}}>Save</div>
|
||||
<div class="btn btn-outline-secondary" id="section-editor-cancel-button-{{pageId}}" {{action "onCancel"}}>Cancel</div>
|
||||
<div class="grid-container-8-2">
|
||||
<div class="grid-cell-1 grid-cell-width-100">
|
||||
<div class="section-editor">
|
||||
<form>
|
||||
{{#if blockMode}}
|
||||
<div class="form-group">
|
||||
{{focus-input id="page-id-{{pageId}}" value=pageTitle placeholder="Enter name"
|
||||
class=(if hasNameError "form-control mousetrap form-control-lg is-invalid" "form-control form-control-lg mousetrap")}}
|
||||
</div>
|
||||
<div class="form-group">
|
||||
{{textarea id="page-excerpt-{{pageId}}" value=page.excerpt rows="2" class=(if hasDescError "form-control mousetrap form-control-lg is-invalid" "form-control form-control-lg mousetrap") placeholder="Enter description"}}
|
||||
</div>
|
||||
{{else}}
|
||||
<div class="form-group">
|
||||
{{focus-input type="text" id=pageId value=pageTitle class=(if hasNameError "form-control mousetrap form-control-lg is-invalid" "form-control form-control-lg mousetrap") placeholder="Enter name"}}
|
||||
</div>
|
||||
{{/if}}
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col section-editor">
|
||||
<div class="canvas rounded mt-5">
|
||||
{{yield}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="grid-cell-2 grid-cell-right">
|
||||
{{#if busy}}
|
||||
<img src="/assets/img/busy-gray.gif" class="busy-indicator">
|
||||
{{/if}}
|
||||
{{#ui/ui-toolbar dark=false light=true raised=true large=true bordered=true}}
|
||||
{{#if contentLinkerButton}}
|
||||
{{ui/ui-toolbar-icon icon=constants.Icon.Link color=constants.Color.Gray
|
||||
tooltip="Insert Link" onClick=(action "onShowLinkModal")}}
|
||||
{{/if}}
|
||||
{{#if previewButton}}
|
||||
{{ui/ui-toolbar-icon icon=constants.Icon.Preview color=constants.Color.Gray
|
||||
tooltip="Preview changes" onClick=(action "onPreview")}}
|
||||
{{/if}}
|
||||
{{ui/ui-toolbar-icon icon=constants.Icon.Tick color=constants.Color.Green tooltip="Save changes" onClick=(action "onAction")}}
|
||||
{{ui/ui-toolbar-icon icon=constants.Icon.Cross color=constants.Color.Red tooltip="Cancel editing" onClick=(action "onCancel")}}
|
||||
{{/ui/ui-toolbar}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="section-editor">
|
||||
<div class="canvas">
|
||||
{{yield}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
@ -53,8 +52,8 @@
|
|||
<p>You have made changes to the section - continue editing or discard changes?</p>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-outline-secondary" data-dismiss="modal">Continue editing</button>
|
||||
<button type="button" class="btn btn-danger" onclick={{action "onDiscard"}}>Discard changes</button>
|
||||
{{ui/ui-button color=constants.Color.Gray light=true label="Continue editing" dismiss=true}}
|
||||
{{ui/ui-button color=constants.Color.Red light=true label="Discard changes" onClick=(action "onDiscard")}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,32 +1,29 @@
|
|||
<div id="section-editor-{{pageId}}">
|
||||
<div class="row">
|
||||
<div class="col-8 section-editor">
|
||||
<div class="grid-container-6-4">
|
||||
<div class="grid-cell-1 grid-cell-width-100">
|
||||
<div class="section-editor">
|
||||
<div class="form-group">
|
||||
{{focus-input type="text" id="page-title" value=page.title class=(if hasNameError "form-control mousetrap form-control-lg edit-title is-invalid" "form-control form-control-lg edit-title mousetrap") placeholder="Enter name"}}
|
||||
{{focus-input type="text" id="page-title" value=page.title class=(if hasNameError "form-control mousetrap form-control-lg is-invalid" "form-control form-control-lg mousetrap") placeholder="Enter name"}}
|
||||
</div>
|
||||
{{#if hasExcerpt}}
|
||||
<div class="form-group">
|
||||
{{textarea id="page-excerpt" value=page.excerpt rows="2" class=(if hasDescError "form-control mousetrap form-control-lg edit-title is-invalid" "form-control form-control-lg edit-title mousetrap") placeholder="Enter description"}}
|
||||
{{textarea id="page-excerpt" value=page.excerpt rows="2" class=(if hasDescError "form-control mousetrap form-control-lg is-invalid" "form-control form-control-lg mousetrap") placeholder="Enter description"}}
|
||||
</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
<div class="col-4">
|
||||
<div class="float-right">
|
||||
{{#if busy}}
|
||||
<img src="/assets/img/busy-gray.gif" class="busy-indicator">
|
||||
{{/if}}
|
||||
|
||||
<div class="btn btn-success" {{action "onAction"}}>{{actionLabel}}</div>
|
||||
<div class="btn btn-outline-secondary" id="section-editor-cancel-button-{{pageId}}" {{action "onCancel"}}>{{cancelLabel}}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col section-editor">
|
||||
<div class="canvas rounded">
|
||||
{{yield}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="grid-cell-2 grid-cell-right">
|
||||
{{#if busy}}
|
||||
<img src="/assets/img/busy-gray.gif" class="busy-indicator">
|
||||
{{/if}}
|
||||
{{ui/ui-button color=constants.Color.Gray light=true label=cancelLabel onClick=(action "onCancel")}}
|
||||
{{ui/ui-button-gap}}
|
||||
{{ui/ui-button color=constants.Color.Green light=true label=actionLabel onClick=(action "onAction")}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="section-editor">
|
||||
<div class="canvas">
|
||||
{{yield}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
@ -38,8 +35,8 @@
|
|||
<p>You have made changes - continue editing or discard changes?</p>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-outline-secondary" data-dismiss="modal">Continue editing</button>
|
||||
<button type="button" class="btn btn-danger" onclick={{action "onDiscard"}}>Discard changes</button>
|
||||
{{ui/ui-button color=constants.Color.Gray light=true label="Continue editing" dismiss=true}}
|
||||
{{ui/ui-button color=constants.Color.Red light=true label="Discard changes" onClick=(action "onDiscard")}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,14 +1,13 @@
|
|||
{{#section/base-editor document=document folder=folder page=page busy=waiting tip="Concise name that describes the diagram" isDirty=(action "isDirty") onCancel=(action "onCancel") onAction=(action "onAction")}}
|
||||
{{layout/logo-heading
|
||||
title="Draw.io"
|
||||
desc="For making flowcharts, process diagrams, org charts, UML, ER diagrams, network diagrams and much more (https://about.draw.io)"
|
||||
icon=constants.Icon.Integrations}}
|
||||
|
||||
{{#section/base-editor document=document folder=folder page=page busy=waiting isDirty=(action "isDirty") onCancel=(action "onCancel") onAction=(action "onAction")}}
|
||||
<div class="section-flowchart-diagram">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<iframe id={{editorId}}
|
||||
src="https://www.draw.io/?embed=1&ui=Kennedy&spin=0&proto=json&splash=0"
|
||||
style="frameborder:0; border: 0; width: 100%; height: 1000px;">
|
||||
</iframe>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<iframe id={{editorId}}
|
||||
src="https://www.draw.io/?embed=1&ui=Kennedy&spin=0&proto=json&splash=0"
|
||||
style="frameborder:0; border: 0; width: 100%; height: 1000px;">
|
||||
</iframe>
|
||||
</div>
|
||||
{{/section/base-editor}}
|
||||
|
|
|
@ -1,43 +1,45 @@
|
|||
{{#section/base-editor document=document folder=folder page=page busy=waiting tip="Gemini enterprise issue and ticketing software (https://www.countersoft.com)" isDirty=(action "isDirty") onCancel=(action "onCancel") onAction=(action "onAction")}}
|
||||
{{layout/logo-heading
|
||||
title="Gemini"
|
||||
desc="Gemini enterprise issue and ticketing software (https://www.countersoft.com)"
|
||||
icon=constants.Icon.Integrations}}
|
||||
|
||||
<div class="row">
|
||||
<div class="col-6">
|
||||
<div class="form-group">
|
||||
<label for="gemini-url">Gemini URL</label>
|
||||
{{focus-input id="gemini-url" type="text" value=config.url class="form-control"}}
|
||||
<small class="form-text text-muted">e.g. http://helpdesk.countersoft.com</small>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label>Username</label>
|
||||
{{input id="gemini-username" type="text" value=config.username class="form-control"}}
|
||||
<small class="form-text text-muted">Gemini Username</small>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="gemini-apikey">API Key</label>
|
||||
{{input id="gemini-apikey" type="password" value=config.APIKey class="form-control"}}
|
||||
<small class="form-text text-muted">Gemini user API key (from user profile)</small>
|
||||
</div>
|
||||
<div class="btn btn-primary" {{action "auth"}}>Authenticate</div>
|
||||
</div>
|
||||
|
||||
<div class="col-6">
|
||||
{{#if authenticated}}
|
||||
{{#section/base-editor document=document folder=folder page=page busy=waiting isDirty=(action "isDirty") onCancel=(action "onCancel") onAction=(action "onAction")}}
|
||||
<div class="grid-container-5-5">
|
||||
<div class="grid-cell-1">
|
||||
<div class="form-group">
|
||||
<label>Select Gemini workspace</label>
|
||||
<ul class="section-gemini-workspaces">
|
||||
{{#each workspaces as |card|}}
|
||||
<li class="section-gemini-workspace" id="gemini-workspace-{{card.Id}}">
|
||||
{{#attach-tooltip showDelay=1000}}{{card.Title}}{{/attach-tooltip}}
|
||||
<div class="section-gemini-card" style="background-color:{{card.Color}};" {{action "onWorkspaceChange" card.Id}}>{{card.Key}}</div>
|
||||
{{#if card.selected}}
|
||||
<div class="section-gemini-selected-card">✓</div>
|
||||
{{/if}}
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
<label for="gemini-url">Gemini URL</label>
|
||||
{{focus-input id="gemini-url" type="text" value=config.url class="form-control"}}
|
||||
<small class="form-text text-muted">e.g. http://helpdesk.countersoft.com</small>
|
||||
</div>
|
||||
{{/if}}
|
||||
<div class="form-group">
|
||||
<label>Username</label>
|
||||
{{input id="gemini-username" type="text" value=config.username class="form-control"}}
|
||||
<small class="form-text text-muted">Gemini Username</small>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="gemini-apikey">API Key</label>
|
||||
{{input id="gemini-apikey" type="password" value=config.APIKey class="form-control"}}
|
||||
<small class="form-text text-muted">Gemini user API key (from user profile)</small>
|
||||
</div>
|
||||
{{ui/ui-button color=constants.Color.Green light=true label=constants.Label.Authenticate onClick=(action "auth")}}
|
||||
</div>
|
||||
<div class="grid-cell-2">
|
||||
{{#if authenticated}}
|
||||
<div class="form-group">
|
||||
<label>Select Gemini workspace</label>
|
||||
<ul class="section-gemini-workspaces">
|
||||
{{#each workspaces as |card|}}
|
||||
<li class="section-gemini-workspace" id="gemini-workspace-{{card.Id}}">
|
||||
{{#attach-tooltip showDelay=1000}}{{card.Title}}{{/attach-tooltip}}
|
||||
<div class="section-gemini-card" style="background-color:{{card.Color}};" {{action "onWorkspaceChange" card.Id}}>{{card.Key}}</div>
|
||||
{{#if card.selected}}
|
||||
<div class="section-gemini-selected-card">✓</div>
|
||||
{{/if}}
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{/section/base-editor}}
|
||||
|
|
|
@ -1,39 +1,32 @@
|
|||
{{#section/base-editor document=document folder=folder page=page busy=waiting tip="Jira issue tracking" isDirty=(action "isDirty") onCancel=(action "onCancel") onAction=(action "onAction")}}
|
||||
{{layout/logo-heading
|
||||
title="Jira Software"
|
||||
desc="Jira provides issue tracking and agile software"
|
||||
icon=constants.Icon.Integrations}}
|
||||
|
||||
<div class="row">
|
||||
<div class="col-12 mb-5">
|
||||
{{#if session.isAdmin}}
|
||||
{{#link-to "customize.integrations" class="btn btn-outline-secondary bold-700"}}
|
||||
Configure Jira Connector
|
||||
{{/link-to}}
|
||||
{{else}}
|
||||
{{#unless authenticated}}
|
||||
<p>Your Documize administrator needs to provide Jira connection details before usage.</p>
|
||||
{{/unless}}
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{#if authenticated}}
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<form {{action "onPreview"}}>
|
||||
<div class="form-group">
|
||||
<label for="gemini-url">Jira Query Language</label>
|
||||
{{focus-input id="jira-jql" type="text" value=config.jql class="form-control" placeholder="e.g. (status = resolved AND project = SysAdmin) OR assignee = bobsmith"}}
|
||||
</div>
|
||||
<button type="submit" class="btn btn-secondary bold-700">Preview</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row my-5">
|
||||
<div class="col-12">
|
||||
{{{issuesGrid}}}
|
||||
</div>
|
||||
</div>
|
||||
{{else}}
|
||||
<p class="text-danger">Jira connector not authenticated</p>
|
||||
{{/if}}
|
||||
{{#section/base-editor document=document folder=folder page=page busy=waiting isDirty=(action "isDirty") onCancel=(action "onCancel") onAction=(action "onAction")}}
|
||||
{{#if session.isAdmin}}
|
||||
{{#link-to "customize.integrations"}}
|
||||
{{ui/ui-button color=constants.Color.Green light=true label="Configure Jira Connector"}}
|
||||
{{/link-to}}
|
||||
{{else}}
|
||||
{{#unless authenticated}}
|
||||
<p class="color-green-600">Your Documize administrator needs to provide Jira connection details before usage.</p>
|
||||
{{/unless}}
|
||||
{{/if}}
|
||||
{{#if authenticated}}
|
||||
<form {{action "onPreview"}}>
|
||||
<div class="form-group">
|
||||
<label for="jira-jql">Jira Query Language</label>
|
||||
{{focus-input id="jira-jql" type="text" value=config.jql class="form-control" placeholder="e.g. (status = resolved AND project = SysAdmin) OR assignee = bobsmith"}}
|
||||
</div>
|
||||
{{ui/ui-button color=constants.Color.Green light=true label=constants.Label.Preview submit=true onClick=(action "onPreview")}}
|
||||
</form>
|
||||
|
||||
{{ui/ui-spacer size=300}}
|
||||
{{{issuesGrid}}}
|
||||
{{else}}
|
||||
{{ui/ui-spacer size=300}}
|
||||
<p class="color-gray-700">Jira connector not authenticated</p>
|
||||
{{/if}}
|
||||
{{/section/base-editor}}
|
||||
|
|
|
@ -1,44 +1,49 @@
|
|||
{{#section/base-editor document=document folder=folder page=page busy=waiting tip="Papertrail cloud logging service (https://papertrailapp.com)" isDirty=(action "isDirty") onCancel=(action "onCancel") onAction=(action "onAction")}}
|
||||
{{layout/logo-heading
|
||||
title="Papertrail"
|
||||
desc="Display your cloud-based logs (https://papertrailapp.com)"
|
||||
icon=constants.Icon.Integrations}}
|
||||
|
||||
<div class="row">
|
||||
<div class="col-6">
|
||||
<form {{action "auth" on="submit"}} >
|
||||
<div class="form-group">
|
||||
<label>Papertrail API Key</label>
|
||||
{{focus-input id="papertrail-apitoken" type="password" value=config.APIToken class="form-control"}}
|
||||
<small class="form-text text-muted">API Token (from your profile)</small>
|
||||
</div>
|
||||
<div class="btn btn-primary" {{action "auth"}} >
|
||||
{{#if authenticated}}
|
||||
Re-Authenticate
|
||||
{{else}}
|
||||
Authenticate
|
||||
{{/if}}
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
{{#section/base-editor document=document folder=folder page=page busy=waiting
|
||||
isDirty=(action "isDirty") onCancel=(action "onCancel") onAction=(action "onAction")}}
|
||||
|
||||
{{#if authenticated}}
|
||||
<div class="col-6">
|
||||
<form {{action "onAction" on="submit"}}>
|
||||
<div class="grid-container-5-5">
|
||||
<div class="grid-cell-1">
|
||||
<form {{action "auth" on="submit"}} >
|
||||
<div class="form-group">
|
||||
<label for="papertrail-query">Search query</label>
|
||||
{{input id="papertrail-query" type="text" class="form-control mousetrap" value=config.query}}
|
||||
<small class="form-text text-muted">Determine which log entries you want to display e.g. bob OR ("some phrase" AND sally)</small>
|
||||
<label>Papertrail API Key</label>
|
||||
{{focus-input id="papertrail-apitoken" type="password" value=config.APIToken class="form-control"}}
|
||||
<small class="form-text text-muted">API Token (from your profile)</small>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="papertrail-max">Maximum results</label>
|
||||
{{input id="papertrail-max" type="number" class="form-control mousetrap" value=config.max}}
|
||||
<small class="form-text text-muted">How many log entries do you want?</small>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="group-dropdown">Group</label>
|
||||
{{ui/ui-select id="group-dropdown" prompt="<group>" content=options.groups action=(action "onGroupsChange") optionValuePath="id" optionLabelPath="name" selection=config.group}}
|
||||
<small class="form-text text-muted">Optional Papertrail group</small>
|
||||
<div class="btn btn-primary" {{action "auth"}} >
|
||||
{{#if authenticated}}
|
||||
Re-Authenticate
|
||||
{{else}}
|
||||
Authenticate
|
||||
{{/if}}
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
<div class="grid-cell-2">
|
||||
{{#if authenticated}}
|
||||
<form {{action "onAction" on="submit"}}>
|
||||
<div class="form-group">
|
||||
<label for="papertrail-query">Search query</label>
|
||||
{{input id="papertrail-query" type="text" class="form-control mousetrap" value=config.query}}
|
||||
<small class="form-text text-muted">Determine which log entries you want to display e.g. bob OR ("some phrase" AND sally)</small>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="papertrail-max">Maximum results</label>
|
||||
{{input id="papertrail-max" type="number" class="form-control mousetrap" value=config.max}}
|
||||
<small class="form-text text-muted">How many log entries do you want?</small>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="group-dropdown">Group</label>
|
||||
{{ui/ui-select id="group-dropdown" prompt="<group>" content=options.groups action=(action "onGroupsChange") optionValuePath="id" optionLabelPath="name" selection=config.group}}
|
||||
<small class="form-text text-muted">Optional Papertrail group</small>
|
||||
</div>
|
||||
</form>
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{/section/base-editor}}
|
||||
|
|
|
@ -1,36 +1,41 @@
|
|||
{{#section/base-editor document=document folder=folder page=page busy=waiting tip="Concise name that describes the diagram" isDirty=(action "isDirty") onCancel=(action "onCancel") onAction=(action "onAction")}}
|
||||
{{layout/logo-heading
|
||||
title="PlantUML"
|
||||
desc="Create UML diagrams from a plain text language (http://plantuml.com)"
|
||||
icon=constants.Icon.Integrations}}
|
||||
|
||||
{{#section/base-editor document=document folder=folder page=page busy=waiting
|
||||
isDirty=(action "isDirty") onCancel=(action "onCancel") onAction=(action "onAction")}}
|
||||
|
||||
<div class="section-plantuml-diagram">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<div class="form-group">
|
||||
<label><a href="http://plantuml.com/" target="_blank">PlantUML Diagram</a></label>
|
||||
<div class="my-3">
|
||||
<p>Insert sample diagrams:</p>
|
||||
<p>
|
||||
<button type="button" class="btn btn-light" {{action "onInsertSequence"}}>Sequence</button>
|
||||
<button type="button" class="btn btn-light" {{action "onInsertUseCase"}}>Use Case</button>
|
||||
<button type="button" class="btn btn-light" {{action "onInsertClass"}}>Class</button>
|
||||
<button type="button" class="btn btn-light" {{action "onInsertActivity"}}>Activity</button>
|
||||
<button type="button" class="btn btn-light" {{action "onInsertActivityNew"}}>Activity (new syntax)</button>
|
||||
<button type="button" class="btn btn-light" {{action "onInsertComponent"}}>Component</button>
|
||||
<button type="button" class="btn btn-light" {{action "onInsertState"}}>State</button>
|
||||
</p>
|
||||
</div>
|
||||
{{focus-textarea value=diagramText rows=30 id=editorId class="diagram-editor form-control mousetrap"}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<div class="form-group">
|
||||
<button type="button" class="btn btn-secondary" {{action "onPreview"}}>{{previewButtonCaption}}</button>
|
||||
<div id={{previewId}} class="text-center my-5">
|
||||
<img src={{diagramPreview}}>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label><a href="http://plantuml.com/" target="_blank">PlantUML Diagram</a></label>
|
||||
{{ui/ui-spacer size=200}}
|
||||
<div>
|
||||
<p>Insert sample diagrams:</p>
|
||||
<p>
|
||||
{{ui/ui-button color=constants.Color.Gray light=true label="Sequence" onClick=(action "onInsertSequence")}}
|
||||
{{ui/ui-button color=constants.Color.Gray light=true label="Use Case" onClick=(action "onInsertUseCase")}}
|
||||
{{ui/ui-button color=constants.Color.Gray light=true label="Class" onClick=(action "onInsertClass")}}
|
||||
{{ui/ui-button color=constants.Color.Gray light=true label="Activity" onClick=(action "onInsertActivity")}}
|
||||
{{ui/ui-button color=constants.Color.Gray light=true label="Activity (new syntax)" onClick=(action "onInsertActivityNew")}}
|
||||
{{ui/ui-button color=constants.Color.Gray light=true label="Component" onClick=(action "onInsertComponent")}}
|
||||
{{ui/ui-button color=constants.Color.Gray light=true label="State" onClick=(action "onInsertState")}}
|
||||
</p>
|
||||
</div>
|
||||
{{focus-textarea value=diagramText rows=30 id=editorId class="diagram-editor form-control mousetrap"}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{ui/ui-spacer size=200}}
|
||||
|
||||
{{ui/ui-button color=constants.Color.Yellow light=true label=previewButtonCaption onClick=(action "onPreview")}}
|
||||
|
||||
{{ui/ui-spacer size=200}}
|
||||
|
||||
<div id={{previewId}} class="text-center">
|
||||
<img src={{diagramPreview}}>
|
||||
</div>
|
||||
|
||||
{{ui/ui-spacer size=200}}
|
||||
|
||||
{{/section/base-editor}}
|
||||
|
|
|
@ -1,5 +1,9 @@
|
|||
{{layout/logo-heading
|
||||
title="Trello"
|
||||
desc="Trello is the visual way to manage your projects and organize anything (https://trello.com)"
|
||||
icon=constants.Icon.Integrations}}
|
||||
|
||||
{{#section/base-editor document=document folder=folder page=page busy=busy
|
||||
tip="Trello is the visual way to manage your projects and organize anything (https://trello.com)"
|
||||
isDirty=(action "isDirty") onCancel=(action "onCancel") onAction=(action "onAction")}}
|
||||
|
||||
{{#if trelloConfigured}}
|
||||
|
@ -30,7 +34,8 @@
|
|||
</div>
|
||||
{{/if}}
|
||||
{{else}}
|
||||
<div class="btn btn-primary" {{action "auth"}}>Authenticate</div>
|
||||
{{ui/ui-button color=constants.Color.Green light=true
|
||||
label=constants.Label.Authenticate onClick=(action "auth")}}
|
||||
{{/if}}
|
||||
{{else}}
|
||||
{{#if session.isGlobalAdmin}}
|
||||
|
|
Binary file not shown.
|
@ -172,7 +172,7 @@
|
|||
<glyph glyph-name="reload"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d="M115 239.344C73.669 233.001 41.465 209.174 25.671 173.254C21.167 163.009 19.299 156.682 17.476 145.5C15.231 131.736 15.483 125.85 18.452 122.646C21.744 119.094 26.256 119.094 29.548 122.646C31.5 124.753 32 126.357 32 130.515C32 144.956 37.815 164.409 46.21 178.05C66.21 210.549 103.744 228.187 141.678 222.912C160.359 220.315 179.098 211.303 193.118 198.173C199.714 191.997 208 182.326 208 180.805C208 180.57 198.438 181.628 186.75 183.157C160.3 186.616 158.95 186.64 156.174 183.686C151.958 179.197 153.805 172.69 159.766 171.033C163.506 169.993 215.855 163.022 221.5 162.812C225.68 162.656 228.832 163.817 229.961 165.928C230.912 167.704 239 227.169 239 232.381C239 235.849 234.897 240 231.469 240C229.935 240 227.716 238.858 226.122 237.25C223.571 234.674 223.255 233.329 221.121 216C219.868 205.825 218.657 196.91 218.429 196.189C218.185 195.415 216.03 197.263 213.172 200.697C196.975 220.16 170.968 234.642 145.252 238.518C136.313 239.866 121.104 240.281 115 239.344M226.619 133.71C224.676 131.767 224.231 129.986 223.684 121.96C222.142 99.337 212.904 78.132 197.64 62.182C182.621 46.487 165.39 37.235 144.316 33.548C114.392 28.314 84.34 37.384 62.328 58.293C56.053 64.254 48 73.754 48 75.195C48 75.43 57.563 74.372 69.25 72.843C95.7 69.384 97.05 69.36 99.826 72.314C104.042 76.803 102.195 83.31 96.234 84.967C92.494 86.007 40.145 92.978 34.5 93.188C29.887 93.36 27.419 92.215 26.085 89.286C24.926 86.744 17.014 29.598 17.005 23.705C16.999 20.15 21.053 16 24.531 16C26.065 16 28.284 17.142 29.878 18.75C32.429 21.326 32.745 22.671 34.879 40C36.132 50.175 37.343 59.09 37.571 59.811C37.816 60.588 39.979 58.752 42.873 55.311C52.149 44.284 62.915 35.829 76.83 28.642C120.335 6.173 172.147 14.27 207.053 48.992C219.183 61.059 227.031 73.514 233.835 91.5C236.291 97.992 239.029 111.973 239.643 121.152C240.274 130.605 240.234 130.857 237.689 133.402C234.369 136.722 229.759 136.85 226.619 133.71" />
|
||||
<glyph glyph-name="single-copy-04"
|
||||
<glyph glyph-name="copy"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d="M42.455 253.545C39.266 250.357 39.265 246.085 42.452 242.646L44.905 240L134.452 240L224 240L224 134.646L224 29.292L226.452 26.646C229.744 23.094 234.256 23.094 237.548 26.646L240 29.292L240 140.191L240 251.091L237.545 253.545L235.091 256L140 256L44.909 256L42.455 253.545M18.455 221.545L16 219.091L16 112.191L16 5.292L18.452 2.646L20.905 0L112 0L203.095 0L205.548 2.646L208 5.292L208 112.191L208 219.091L205.545 221.545L203.091 224L112 224L20.909 224L18.455 221.545M192 112L192 16L112 16L32 16L32 112L32 208L112 208L192 208L192 112M58.455 165.545C55.266 162.357 55.265 158.085 58.452 154.646L60.905 152L112 152L163.095 152L165.548 154.646C168.735 158.085 168.734 162.357 165.545 165.545L163.091 168L112 168L60.909 168L58.455 165.545M58.455 117.545C55.266 114.357 55.265 110.085 58.452 106.646L60.905 104L112 104L163.095 104L165.548 106.646C168.735 110.085 168.734 114.357 165.545 117.545L163.091 120L112 120L60.909 120L58.455 117.545M58.455 69.545C55.266 66.357 55.265 62.085 58.452 58.646L60.905 56L80 56L99.095 56L101.548 58.646C104.735 62.085 104.734 66.357 101.545 69.545C99.111 71.98 98.936 72 80 72C61.064 72 60.889 71.98 58.455 69.545" />
|
||||
<glyph glyph-name="list-numbers"
|
||||
|
@ -217,6 +217,24 @@
|
|||
<glyph glyph-name="ban"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d="M108.5 254.445C52.322 244.952 9.966 202.042 1.455 146C-6.75 91.975 22.552 37.106 72.5 12.966C121.039 -10.492 177.702 -1.335 216.645 36.262C237.237 56.142 250.195 81.352 254.545 110C260.553 149.555 246.4 190.784 216.877 219.734C188.93 247.14 146.222 260.818 108.5 254.445M142.566 238.928C152.073 237.605 165.141 233.878 174.463 229.829C181.798 226.644 196.264 217.575 199.219 214.311C200.863 212.494 197.951 209.446 122.081 133.581L43.234 54.739L38.713 60.499C25.535 77.289 16 105.232 16 127.059C16 156.999 27.895 185.818 49 207.011C73.5 231.612 108.738 243.633 142.566 238.928M218.048 194.25C224.578 185.631 232.292 169.928 235.417 158.888C241.449 137.582 241.442 118.271 235.394 97.112C226.798 67.039 205.791 41.921 177.283 27.627C146.956 12.421 109.451 12.268 79.5 27.228C71.221 31.363 61.196 37.709 57.212 41.337L54.924 43.42L133.71 122.21C177.042 165.544 212.594 201 212.714 201C212.834 201 215.235 197.962 218.048 194.25" />
|
||||
<glyph glyph-name="check-single"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d="M235.229 238.25C234.133 237.288 200.535 193.413 160.566 140.75C120.598 88.088 87.591 45 87.218 45C86.844 45 71.44 60.075 52.985 78.5C22.644 108.793 19.12 112 16.17 112C11.808 112 8 108.202 8 103.851C8 100.924 11.639 96.963 45.75 62.767C66.513 41.952 84.513 24.666 85.75 24.353C86.988 24.039 89.042 24.045 90.315 24.364C91.927 24.769 115.53 55.067 168.065 124.167C250.516 232.618 248 229.242 248 231.4C248 238.021 239.909 242.361 235.229 238.25" />
|
||||
<glyph glyph-name="check-double"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d="M172.352 206.715C171.171 206.047 146.213 176.358 116.891 140.74L63.577 75.981L41.487 97.99C21.798 117.609 19.046 120 16.154 120C11.821 120 8 116.193 8 111.876C8 109.009 10.788 105.859 33.75 82.787C47.913 68.556 60.576 56.643 61.89 56.313C63.205 55.983 65.346 56.115 66.648 56.606C68.761 57.404 177.286 187.902 182.155 195.5C186.81 202.764 179.717 210.879 172.352 206.715M236.352 206.715C235.171 206.047 210.225 176.372 180.916 140.771L127.627 76.041L121.4 82.021C116.497 86.728 114.507 88 112.041 88C107.851 88 104 84.134 104 79.928C104 77.256 105.596 75.151 114.27 66.382C122.822 57.736 125.047 56 127.578 56C129.25 56 131.349 56.562 132.243 57.25C134.285 58.821 243.542 191.42 246.156 195.5C250.81 202.765 243.717 210.879 236.352 206.715" />
|
||||
<glyph glyph-name="check"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d="M162.271 141.764L88.01 67.529L53.722 101.764C22.698 132.74 19.122 136 16.171 136C11.799 136 8 132.203 8 127.835C8 124.884 11.587 120.988 46.253 86.289C82.009 50.499 84.734 48 88.002 48C91.3 48 95.919 52.423 169.749 126.27C241.564 198.102 248 204.809 248 207.815C248 212.213 244.211 216 239.811 216C236.801 216 230.423 209.894 162.271 141.764" />
|
||||
<glyph glyph-name="d-check"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d="M142.294 137.781L104.027 99.562L89.686 113.781C77.205 126.156 74.928 128 72.127 128C67.821 128 64 124.18 64 119.874C64 117.039 66.163 114.486 82.258 98.329C98.975 81.547 100.81 80 104.006 80C107.271 80 110.215 82.722 149.748 122.286C188.128 160.697 192 164.87 192 167.831C192 172.205 188.203 176 183.826 176C180.863 176 177.013 172.457 142.294 137.781" />
|
||||
<glyph glyph-name="preview"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d="M112.814 214.922C90.974 211.718 67.916 201.145 46.225 184.386C29.073 171.134 4 143.732 1.13 135.101C-1.905 125.971 0.606 118.783 11.264 106.101C52.301 57.268 101.155 33.795 145.615 41.548C179.67 47.487 214.403 69.965 244.433 105.5C254.98 117.98 257.336 124.263 255.047 133.805C253.591 139.875 244.971 151.024 230.506 165.546C192.838 203.364 151.694 220.625 112.814 214.922M150.5 197.149C178.589 189.719 207.504 169.501 232.118 140.078C236.453 134.896 240 129.804 240 128.762C240 125.791 238.26 123.153 229.932 113.5C211.996 92.709 193.131 77.521 172.5 67.261C162.39 62.233 153.884 59.462 142.619 57.526C131.533 55.621 124.952 55.609 113.5 57.473C92.001 60.972 72.236 70.927 50.5 89.204C33.796 103.249 16 123.353 16 128.178C16 133.588 42.372 161.752 59 174.101C77.197 187.614 95.722 195.946 114.5 199.063C122.18 200.338 142.536 199.255 150.5 197.149M113.173 182.033C89.329 175.583 72.043 152.671 72.032 127.5C72.021 102.669 90.374 79.688 115.064 73.615C144.552 66.361 175.47 85.446 182.494 115.24C188.995 142.81 172.895 171.837 146 181.039C136.679 184.228 122.837 184.647 113.173 182.033M136.006 166.999C148.022 164.72 158.686 156.146 164.268 144.274C167.149 138.146 167.453 136.594 167.453 128C167.453 119.416 167.148 117.85 164.283 111.759C156.427 95.051 139.126 85.857 121.361 88.951C108.156 91.25 97.543 99.41 91.693 111.759C88.789 117.891 88.503 119.359 88.529 128C88.555 136.555 88.874 138.174 91.738 144.274C99.908 161.68 117.212 170.563 136.006 166.999" />
|
||||
<glyph glyph-name="link"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d="M170.5 246.567C153.175 242.505 148.064 238.764 116.886 207.327C92.356 182.593 91.102 181.14 87.239 173C82.148 162.273 80.727 156.055 80.727 144.5C80.727 133.044 82.151 126.715 87.039 116.44C93.576 102.698 106.828 90.581 121.77 84.685C127.632 82.372 130.661 82.57 133.545 85.455C138.593 90.502 135.952 95.759 126.162 100.151C114.763 105.266 106.852 112.754 101.497 123.5C95.09 136.356 94.936 151.802 101.083 165C103.754 170.737 107.243 174.624 130.805 198.117C160.364 227.589 162.288 228.983 176.45 231.185C192.405 233.665 205.891 229.195 217.58 217.552C229.893 205.287 234.417 190.39 230.866 173.799C228.512 162.801 225.536 158.456 208.37 140.954C199.098 131.502 191.86 123.289 191.485 121.797C190.281 116.999 194.309 112.09 199.5 112.028C202.075 111.997 204.921 114.435 219.594 129.246C235.072 144.869 237.082 147.303 240.862 155C250.301 174.22 250.314 193.793 240.9 212.889C233.61 227.678 219.139 240.044 203.282 245.034C194.535 247.787 178.832 248.521 170.5 246.567M122.576 170.667C117.172 165.263 119.795 160.586 131.313 155.089C156.122 143.248 166.412 114.653 154.554 90.5C151.496 84.272 148.218 80.623 124.809 57.398C96.801 29.611 94.197 27.638 82.201 25.115C65.529 21.608 50.704 26.116 38.448 38.42C26.136 50.781 21.623 65.6 25.115 82.201C27.429 93.202 30.388 97.524 47.603 115.046C56.909 124.517 64.14 132.708 64.515 134.203C65.719 139.001 61.691 143.91 56.5 143.972C53.925 144.003 51.079 141.565 36.406 126.754C20.928 111.131 18.918 108.697 15.138 101C2.517 75.3 7.054 46.824 26.939 26.939C46.811 7.068 75.21 2.531 101 15.109C109.133 19.076 110.694 20.448 137.136 46.877C163.924 73.652 164.896 74.761 168.784 83C173.857 93.749 175.273 99.968 175.273 111.5C175.273 123.055 173.849 129.286 168.775 139.944C163.329 151.384 152.045 162.823 140.726 168.38C130.272 173.513 125.965 174.055 122.576 170.667" />
|
||||
</font>
|
||||
</defs>
|
||||
</svg>
|
||||
|
|
Before Width: | Height: | Size: 84 KiB After Width: | Height: | Size: 90 KiB |
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
Add table
Add a link
Reference in a new issue