Skip to content

Commit

Permalink
Provide generic IFrame section for documents
Browse files Browse the repository at this point in the history
Closes #352
  • Loading branch information
sauls8t committed Dec 9, 2019
1 parent accf0a2 commit 1a89201
Show file tree
Hide file tree
Showing 9 changed files with 134 additions and 0 deletions.
58 changes: 58 additions & 0 deletions domain/section/frame/frame.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
// 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 frame

import (
"net/http"

"github.com/documize/community/core/env"
"github.com/documize/community/domain/section/provider"
"github.com/documize/community/domain/store"
)

// Provider represents IFRAME
type Provider struct {
Runtime *env.Runtime
Store *store.Store
}

// Meta describes us
func (*Provider) Meta() provider.TypeMeta {
section := provider.TypeMeta{}

section.ID = "1ef25a5a-7b24-470a-afca-bedd8462b7e2"
section.Title = "IFrame"
section.Description = "Embed an IFRAME code snippet"
section.ContentType = "frame"
section.PageType = "tab"

return section
}

// Command stub.
func (*Provider) Command(ctx *provider.Context, w http.ResponseWriter, r *http.Request) {
provider.WriteEmpty(w)
}

// Render converts as-is.
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
}
2 changes: 2 additions & 0 deletions domain/section/register.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ import (
"github.com/documize/community/domain/section/airtable"
"github.com/documize/community/domain/section/code"
"github.com/documize/community/domain/section/flowchart"
"github.com/documize/community/domain/section/frame"
"github.com/documize/community/domain/section/gemini"
"github.com/documize/community/domain/section/jira"
"github.com/documize/community/domain/section/markdown"
Expand Down Expand Up @@ -48,6 +49,7 @@ func Register(rt *env.Runtime, s *store.Store) {
provider.Register("plantuml", &plantuml.Provider{Runtime: rt, Store: s})
provider.Register("flowchart", &flowchart.Provider{Runtime: rt, Store: s})
provider.Register("pdf", &pdfjs.Provider{Runtime: rt, Store: s})
provider.Register("frame", &frame.Provider{Runtime: rt, Store: s})

p := provider.List()
rt.Log.Info(fmt.Sprintf("Extensions: registered %d section types", len(p)))
Expand Down
41 changes: 41 additions & 0 deletions gui/app/components/section/frame/type-editor.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
// 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 Component from '@ember/component';

export default Component.extend({
data: "",

didReceiveAttrs() {
this.set("data", this.get("meta.rawBody"));
},

actions: {
isDirty() {
return this.get('meta.rawBody') !== this.get('data');
},

onCancel() {
let cb = this.get('onCancel');
cb();
},

onAction(title) {
let page = this.get('page');
let meta = this.get('meta');
page.set('title', title);
meta.set('rawBody', this.get("data"));

let cb = this.get('onAction');
cb(page, meta);
}
}
});
14 changes: 14 additions & 0 deletions gui/app/components/section/frame/type-renderer.js
Original file line number Diff line number Diff line change
@@ -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 Component from '@ember/component';

export default Component.extend({});
4 changes: 4 additions & 0 deletions gui/app/styles/core/view/document/wysiwyg.scss
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@
line-height: 1.5rem;
color: $color-black-light-1;

iframe {
border: none;
}

table {
border: 1px solid map-get($gray-shades, 300) !important;

Expand Down
12 changes: 12 additions & 0 deletions gui/app/templates/components/section/frame/type-editor.hbs
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{{layout/logo-heading
title="IFrame"
desc="Embed an IFrame"
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="iframe-embed-code">IFrame embed code</label>
{{textarea value=data rows="10" id="iframe-embed-code" class="form-control mousetrap" placeholder="Enter code" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"}}
<small class="form-text text-muted">Paste the iframe code snippet</small>
</div>
{{/section/base-editor}}
3 changes: 3 additions & 0 deletions gui/app/templates/components/section/frame/type-renderer.hbs
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
<div class="non-printable">
{{{page.body}}}
</div>
Binary file added gui/public/sections/frame.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added gui/public/sections/frame@2x.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 1a89201

Please sign in to comment.