1
0
Fork 0
mirror of https://github.com/documize/community.git synced 2025-07-24 23:59:47 +02:00

Change add-ons to use new UI framework

This commit is contained in:
Harvey Kandola 2018-12-20 18:12:17 +00:00
parent e140caff55
commit 89957c8278
20 changed files with 301 additions and 258 deletions

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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}}

View file

@ -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">&#10003;</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">&#10003;</div>
{{/if}}
</li>
{{/each}}
</ul>
</div>
{{/if}}
</div>
</div>
</div>
{{/section/base-editor}}

View file

@ -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}}

View file

@ -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}}

View file

@ -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}}

View file

@ -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}}