mumuki-styles 1.15.0 → 1.15.1
Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 49b95f8fcec5ef36f11660173d8f730eb66f3a4f
|
4
|
+
data.tar.gz: e39c877bc60abca963835abacf1580b774cb1d70
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 35a83efa8f1f7d787d0579570519578fa5d6ddb0861cc858f793425670d19ff3d3b1ea6b379b2afda46fcf961c73fb26c737dc232e1a82992e9679bd75a7317b
|
7
|
+
data.tar.gz: d025d168648ad52f245cfc2fcb4d9a1f38002b25bb1851d5a6a4d42c1465d79edfa6824d856c27e11548bb4ecd15d59a3f5842b38995769c9b9b6b36768ba6d7
|
data/README.md
CHANGED
@@ -87,89 +87,94 @@
|
|
87
87
|
|
88
88
|
* `data-can-browse`: (Boolean) user can enter into a folder (default `false`).
|
89
89
|
* `data-on-file-open`: (Function) receives 2 params, file name and file content. If no function given user can't open files.
|
90
|
-
* `data-file`: (
|
90
|
+
* `data-file`: (Hash) hash `keys` are the names of the resources and hash `values` are theirs contents (sub-hash for a folder and a string for a file).
|
91
91
|
|
92
92
|
With jQuery you can use function `$('.mu-file-browser').renderFileBrowser()`;
|
93
93
|
|
94
94
|
```html
|
95
95
|
<div
|
96
96
|
class='mu-erd'
|
97
|
-
data-entities='
|
98
|
-
{
|
99
|
-
"
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
{
|
107
|
-
"
|
108
|
-
"type": "
|
109
|
-
"pk": true,
|
110
|
-
"fk": {
|
111
|
-
"to": { "entity": "Entity_2", "column": "ent2_id" },
|
112
|
-
"type": "one_to_one"
|
113
|
-
}
|
114
|
-
},
|
115
|
-
{
|
116
|
-
"name": "ent1_description",
|
117
|
-
"type": "Varchar"
|
97
|
+
data-entities='{
|
98
|
+
"Entity_1": {
|
99
|
+
"ent1_id": {
|
100
|
+
"type": "Integer",
|
101
|
+
"pk": true
|
102
|
+
},
|
103
|
+
"ent2_id": {
|
104
|
+
"type": "Integer",
|
105
|
+
"pk": true,
|
106
|
+
"fk": {
|
107
|
+
"to": { "entity": "Entity_2", "column": "ent2_id" },
|
108
|
+
"type": "one_to_one"
|
118
109
|
}
|
119
|
-
|
110
|
+
},
|
111
|
+
"ent1_description": {
|
112
|
+
"type": "Varchar"
|
113
|
+
}
|
120
114
|
},
|
121
|
-
{
|
122
|
-
"
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
"type": "Integer",
|
127
|
-
"pk": true
|
128
|
-
}
|
129
|
-
]
|
115
|
+
"Entity_2": {
|
116
|
+
"ent2_id": {
|
117
|
+
"type": "Integer",
|
118
|
+
"pk": true
|
119
|
+
}
|
130
120
|
},
|
131
|
-
{
|
132
|
-
"
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
{
|
140
|
-
"
|
141
|
-
"type": "
|
142
|
-
"pk": true,
|
143
|
-
"fk": {
|
144
|
-
"to": { "entity": "Entity_2", "column": "ent2_id" },
|
145
|
-
"type": "many_to_one"
|
146
|
-
}
|
147
|
-
},
|
148
|
-
{
|
149
|
-
"name": "ent1_description",
|
150
|
-
"type": "Varchar"
|
121
|
+
"Entity_3": {
|
122
|
+
"ent3_id": {
|
123
|
+
"type": "Integer",
|
124
|
+
"pk": true
|
125
|
+
},
|
126
|
+
"ent2_id": {
|
127
|
+
"type": "Integer",
|
128
|
+
"pk": true,
|
129
|
+
"fk": {
|
130
|
+
"to": { "entity": "Entity_2", "column": "ent2_id" },
|
131
|
+
"type": "many_to_one"
|
151
132
|
}
|
152
|
-
|
133
|
+
},
|
134
|
+
"ent1_description": {
|
135
|
+
"type": "Varchar"
|
136
|
+
}
|
153
137
|
}
|
154
|
-
|
138
|
+
}'>
|
155
139
|
</div>
|
156
140
|
```
|
157
141
|
|
158
142
|
#### mu-erd attributes
|
159
143
|
|
160
|
-
* `data-entities`: (`
|
161
|
-
* `
|
162
|
-
* `
|
163
|
-
* `
|
164
|
-
* `
|
165
|
-
|
166
|
-
|
167
|
-
* `
|
168
|
-
|
144
|
+
* `data-entities`: (`Hash<EntityName, EntityColumns>`)
|
145
|
+
* `EntityName`: (`String`).
|
146
|
+
* `EntityColumns`: (`Hash<ColumnName, ColumnMetadata>`)
|
147
|
+
* `ColumnName`: (`String`)
|
148
|
+
* `ColumnMetadata`: (`Hash`)
|
149
|
+
* `type`: (`String`) Column type (Char, Number, Integer, Varchar, etc),
|
150
|
+
* `pk`: (`Boolean` - Optional) True if column es PK or part of one,
|
151
|
+
* `fk`: (`Hash` - Optional) with properties:
|
152
|
+
* `to`: (`Object`) { entity: (Foreign entity), column: (Foreign column name) }
|
153
|
+
* `type`: (`String`) one\_to\_one | one\_to\_many | many\_to\_one | many\_to\_many
|
169
154
|
|
170
155
|
With jQuery you can use function `$('.mu-erd').renderERD()`;
|
171
156
|
|
172
157
|
|
158
|
+
```html
|
159
|
+
<div
|
160
|
+
class='mu-browser'
|
161
|
+
data-url='https://mi-sitio.mumuki.io'
|
162
|
+
data-title='Mumuki - Aprender a programar'
|
163
|
+
data-favicon='https://mumuki.io/logo-alt.png'
|
164
|
+
data-srcdoc='<p>Hello Mumuki Browser</p>'>
|
165
|
+
</div>
|
166
|
+
```
|
167
|
+
|
168
|
+
#### mu-browser attributes
|
169
|
+
|
170
|
+
* `data-srcdoc`: HTML of the page to show
|
171
|
+
* `data-url`: (Optional) URL of the page (default: `https://mumuki.io`)
|
172
|
+
* `data-title`: (Optional) Title of the browser's tab (default: `Mumuki`)
|
173
|
+
* `data-favicon`: (Optional) Favicon of the brower's tab (default: `https://mumuki.io/logo-alt.png`)
|
174
|
+
|
175
|
+
With jQuery you can use function `$('.mu-erd').renderWebBrowser()`;
|
176
|
+
|
177
|
+
|
173
178
|
## Installing
|
174
179
|
|
175
180
|
You usually add `mumuki-styles` to an empty project. First you need to add it to your Gemfile:
|
@@ -12952,11 +12952,33 @@ mumuki.load(function () {
|
|
12952
12952
|
return ['<line x1="', x1, '" x2="', x2, '" y1="', y1, '" y2="', y2, '" stroke="black" stroke-width="1"/>'].join('');
|
12953
12953
|
}
|
12954
12954
|
|
12955
|
+
function mapEntityColumns(columnsObject) {
|
12956
|
+
var columns = [];
|
12957
|
+
for (var key in columnsObject) {
|
12958
|
+
var column = columnsObject[key];
|
12959
|
+
column.name = key;
|
12960
|
+
columns.push(column);
|
12961
|
+
}
|
12962
|
+
return columns;
|
12963
|
+
}
|
12964
|
+
|
12965
|
+
function mapEntities(entitiesObject) {
|
12966
|
+
var entities = [];
|
12967
|
+
for (var key in entitiesObject) {
|
12968
|
+
var entity = {};
|
12969
|
+
entity.name = key;
|
12970
|
+
entity.columns = mapEntityColumns(entitiesObject[key]);
|
12971
|
+
entities.push(entity);
|
12972
|
+
}
|
12973
|
+
return entities;
|
12974
|
+
}
|
12975
|
+
|
12955
12976
|
$.fn.renderERD = function () {
|
12956
12977
|
var self = this;
|
12978
|
+
self.empty();
|
12957
12979
|
self.each(function (i) {
|
12958
12980
|
var $diagram = $(self[i]);
|
12959
|
-
var entities = $diagram.data('entities');
|
12981
|
+
var entities = mapEntities($diagram.data('entities'));
|
12960
12982
|
appendEntities($diagram, entities);
|
12961
12983
|
appendConnectors($diagram, entities);
|
12962
12984
|
});
|
@@ -12964,7 +12986,7 @@ mumuki.load(function () {
|
|
12964
12986
|
}
|
12965
12987
|
|
12966
12988
|
window.addEventListener('resize', function () {
|
12967
|
-
$('.mu-erd').
|
12989
|
+
$('.mu-erd').renderERD();
|
12968
12990
|
});
|
12969
12991
|
|
12970
12992
|
$('.mu-erd').renderERD();
|
@@ -12974,9 +12996,9 @@ mumuki.load(function () {
|
|
12974
12996
|
mumuki.load(function () {
|
12975
12997
|
|
12976
12998
|
function getBrowserHeader($browser) {
|
12977
|
-
var title = $browser.data('title') || 'Mumuki';
|
12978
|
-
var favicon = $browser.data('favicon') || 'https://mumuki.io/logo-alt-png';
|
12979
12999
|
var url = $browser.data('url') || 'https://mumuki.io';
|
13000
|
+
var title = $browser.data('title') || 'Mumuki';
|
13001
|
+
var favicon = $browser.data('favicon') || 'https://mumuki.io/logo-alt.png';
|
12980
13002
|
return $([
|
12981
13003
|
'<header>',
|
12982
13004
|
' <ul class="mu-browser-tabs">',
|
@@ -12998,10 +13020,24 @@ mumuki.load(function () {
|
|
12998
13020
|
].join(''))
|
12999
13021
|
}
|
13000
13022
|
|
13023
|
+
var _htmlEscapes = {
|
13024
|
+
'&': '&',
|
13025
|
+
'<': '<',
|
13026
|
+
'>': '>',
|
13027
|
+
'"': '"',
|
13028
|
+
"'": '''
|
13029
|
+
}
|
13030
|
+
|
13031
|
+
function escapeHTML(html) {
|
13032
|
+
return html.replace(/[&<>"']/g, function (chr) {
|
13033
|
+
return _htmlEscapes[chr];
|
13034
|
+
})
|
13035
|
+
}
|
13036
|
+
|
13001
13037
|
function getBrowserMain($browser) {
|
13002
13038
|
return $([
|
13003
13039
|
'<main>',
|
13004
|
-
' <iframe srcdoc="', $browser.data('srcdoc'), '" frameborder="0"></iframe>',
|
13040
|
+
' <iframe srcdoc="', escapeHTML($browser.data('srcdoc')), '" frameborder="0"></iframe>',
|
13005
13041
|
'</main>'
|
13006
13042
|
].join(''));
|
13007
13043
|
}
|
@@ -13019,6 +13055,10 @@ mumuki.load(function () {
|
|
13019
13055
|
|
13020
13056
|
$browser.append($header);
|
13021
13057
|
$browser.append($main);
|
13058
|
+
|
13059
|
+
var mainHeight = parseInt($browser.width() / (16/9), 10) - $header.height();
|
13060
|
+
|
13061
|
+
$main.css({ 'height': mainHeight, 'min-height': mainHeight });
|
13022
13062
|
});
|
13023
13063
|
|
13024
13064
|
return self;
|
@@ -5,7 +5,6 @@ $mu-color-browser-inactive-tabs: darken($mu-color-component-title-background, 5%
|
|
5
5
|
width: 100%;
|
6
6
|
position: relative;
|
7
7
|
header {
|
8
|
-
margin: 15px;
|
9
8
|
margin-bottom: 0;
|
10
9
|
@include display-flex(column nowrap, flex-start, flex-start);
|
11
10
|
.mu-browser-tabs {
|
@@ -91,7 +90,6 @@ $mu-color-browser-inactive-tabs: darken($mu-color-component-title-background, 5%
|
|
91
90
|
position: relative;
|
92
91
|
border: $mu-component-border;
|
93
92
|
border-top: none;
|
94
|
-
margin: 15px;
|
95
93
|
margin-top: 0;
|
96
94
|
height: 500px;
|
97
95
|
min-height: 500px;
|
@@ -9408,7 +9408,6 @@ pre code {
|
|
9408
9408
|
width: 100%;
|
9409
9409
|
position: relative; }
|
9410
9410
|
.mu-browser header {
|
9411
|
-
margin: 15px;
|
9412
9411
|
margin-bottom: 0;
|
9413
9412
|
display: flex;
|
9414
9413
|
flex-flow: column nowrap;
|
@@ -9486,7 +9485,6 @@ pre code {
|
|
9486
9485
|
position: relative;
|
9487
9486
|
border: 2px solid #cfd9db;
|
9488
9487
|
border-top: none;
|
9489
|
-
margin: 15px;
|
9490
9488
|
margin-top: 0;
|
9491
9489
|
height: 500px;
|
9492
9490
|
min-height: 500px; }
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mumuki-styles
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.15.
|
4
|
+
version: 1.15.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Federico Scarpa
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-12-
|
11
|
+
date: 2017-12-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|