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

initial implementation

This commit is contained in:
Harvey Kandola 2016-10-12 18:57:14 -07:00
parent 5f1fed0206
commit 7093ce5647
10 changed files with 141 additions and 6 deletions

View file

@ -0,0 +1,39 @@
// Copyright 2016 Documize Inc. <legal@documize.com>. All rights reserved.
//
// This software (Documize Community Edition) is licensed under
// GNU AGPL v3 http://www.gnu.org/licenses/agpl-3.0.en.html
//
// You can operate outside the AGPL restrictions by purchasing
// Documize Enterprise Edition and obtaining a commercial license
// by contacting <sales@documize.com>.
//
// https://documize.com
import Ember from 'ember';
export default Ember.Component.extend({
data: "",
didReceiveAttrs() {
this.set("data", this.get("meta.rawBody"));
},
actions: {
isDirty() {
return this.get('meta.rawBody') !== this.get('data');
},
onCancel() {
this.attrs.onCancel();
},
onAction(title) {
let page = this.get('page');
let meta = this.get('meta');
page.set('title', title);
meta.set('rawBody', this.get("data"));
this.attrs.onAction(page, meta);
}
}
});

View file

@ -0,0 +1,14 @@
// Copyright 2016 Documize Inc. <legal@documize.com>. All rights reserved.
//
// This software (Documize Community Edition) is licensed under
// GNU AGPL v3 http://www.gnu.org/licenses/agpl-3.0.en.html
//
// You can operate outside the AGPL restrictions by purchasing
// Documize Enterprise Edition and obtaining a commercial license
// by contacting <sales@documize.com>.
//
// https://documize.com
import Ember from 'ember';
export default Ember.Component.extend({});

View file

@ -0,0 +1,15 @@
{{#section/base-editor document=document folder=folder page=page isDirty=(action 'isDirty') onCancel=(action 'onCancel')
onAction=(action 'onAction')}}
<div class="input-form">
<form>
<div class="heading">
<div class="title">Airtable</div>
<div class="tip">Paste the Airtable embed code snippet</div>
</div>
<div class="input-control">
<label>Embed Code</label>
{{textarea value=data rows="3" id="airtable-embed-code" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"}}
</div>
</form>
</div>
{{/section/base-editor}}

View file

@ -0,0 +1,3 @@
<div class="non-printable">
{{{page.body}}}
</div>

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

View file

@ -0,0 +1,62 @@
// Copyright 2016 Documize Inc. <legal@documize.com>. All rights reserved.
//
// This software (Documize Community Edition) is licensed under
// GNU AGPL v3 http://www.gnu.org/licenses/agpl-3.0.en.html
//
// You can operate outside the AGPL restrictions by purchasing
// Documize Enterprise Edition and obtaining a commercial license
// by contacting <sales@documize.com>.
//
// https://documize.com
package airtable
import (
"net/http"
"github.com/documize/community/core/section/provider"
)
// Provider represents Airtable
type Provider struct {
}
// Meta describes us
func (*Provider) Meta() provider.TypeMeta {
section := provider.TypeMeta{}
section.ID = "3cfa411e-73bf-474c-841a-effd6b00fdd8"
section.Title = "Airtable"
section.Description = "Databases, tables, views"
section.ContentType = "airtable"
return section
}
// Command stub.
func (*Provider) Command(ctx *provider.Context, w http.ResponseWriter, r *http.Request) {
provider.WriteEmpty(w)
}
// Render converts markdown data into HTML suitable for browser rendering.
func (*Provider) Render(ctx *provider.Context, config, data string) string {
return embed(config, data)
}
// Refresh just sends back data as-is.
func (*Provider) Refresh(ctx *provider.Context, config, data string) string {
return embed(config, data)
}
func embed(config, data string) string {
return data
// return `
// <iframe class="airtable-embed"
// src="https://airtable.com/embed/shrFOcQ6BYrlUe62L?backgroundColor=yellow&viewControls=on"
// frameborder="0"
// onmousewheel=""
// width="100%"
// height="533"
// style="background: transparent; border: 1px solid #ccc;"></iframe>
// `
}

View file

@ -14,6 +14,8 @@ package section
import (
"fmt"
"github.com/documize/community/core/log"
"github.com/documize/community/core/section/airtable"
"github.com/documize/community/core/section/code"
"github.com/documize/community/core/section/gemini"
"github.com/documize/community/core/section/github"
@ -23,7 +25,6 @@ import (
"github.com/documize/community/core/section/table"
"github.com/documize/community/core/section/trello"
"github.com/documize/community/core/section/wysiwyg"
"github.com/documize/community/core/log"
)
// Register sections
@ -36,6 +37,7 @@ func Register() {
provider.Register("table", &table.Provider{})
provider.Register("trello", &trello.Provider{})
provider.Register("wysiwyg", &wysiwyg.Provider{})
provider.Register("airtable", &airtable.Provider{})
p := provider.List()
log.Info(fmt.Sprintf("Documize registered %d smart sections", len(p)))
}