Skip to content

Commit

Permalink
final jsPanel v4.0.0 released
Browse files Browse the repository at this point in the history
  • Loading branch information
Flyer53 committed May 23, 2018
1 parent f3d9efc commit db0445c
Show file tree
Hide file tree
Showing 41 changed files with 4,932 additions and 543 deletions.
8 changes: 7 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
## CHANGELOG

### Version 4.0.0 *released 2018-05-23*

+ **bugfix** in the dock extensions
+ **bugfix** in the function creating the minimized replacement
+ **option resizeit** defaults of `minWidth` and `minHeight` set to `128`
+ various tweaks in css and js

### Version 4.0.0-beta.5.1 *released 2018-04-19*

+ **fixes** a typo disabling option `onwindowresize`
Expand All @@ -18,7 +25,6 @@

+ **bugfix** in jspanel.css


### Version 4.0.0-beta.4 *released 2018-03-30*

+ **fix** in method **resizeit()**
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
![license MIT](https://img.shields.io/badge/license-MIT-blue.svg) [![npm version](https://badge.fury.io/js/jspanel4.svg)](https://badge.fury.io/js/jspanel4) [![npm](https://img.shields.io/npm/dt/express.svg)](https://www.npmjs.com/package/jspanel4) [![Gitter](https://img.shields.io/gitter/room/nwjs/nw.js.svg)](https://gitter.im/jsPanel/Lobby?utm_source=share-link&utm_medium=link&utm_campaign=share-link)

## [jsPanel 4.0.0-beta.5.1 released 2018-04-19](#)
## [jsPanel 4.0.0 released 2018-05-23](#)


**A dependency free javascript tool to create highly configurable multifunctional floating panels.**
Expand Down
2 changes: 2 additions & 0 deletions dist/extensions/contextmenu/jspanel.contextmenu.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@
/* global jsPanel */
'use strict';

//import {jsPanel} from '../../jspanel.js';

if (!jsPanel.contextmenu) {

jsPanel.contextmenu = {
Expand Down
23 changes: 15 additions & 8 deletions dist/extensions/dock/jspanel.dock.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@
/* global jsPanel jsPanelError */
'use strict';

//import {jsPanel} from '../../jspanel.js';

function dockPanel(config, cb) {

var configDefault = {
Expand Down Expand Up @@ -57,16 +59,15 @@ function dockPanel(config, cb) {
slave.resizeit('disable');
slave.options.minimizeTo = false;

// TODO: If a docked panel is closed the drag/resize handler needs to be removed from the respective dragit.drag/resizeit.resizeit arrays


// set necessary master options
master.reposSlave = function () {
if (document.querySelector('#' + slave.id)) {
slave.reposition();
}
};
master.options.dragit.drag.push(master.reposSlave);
if (master.options.dragit) {
master.options.dragit.drag.push(master.reposSlave);
}

master.resizeSlave = function () {
if (document.querySelector('#' + slave.id)) {
Expand All @@ -85,14 +86,20 @@ function dockPanel(config, cb) {
}
}
};
master.options.resizeit.resize.push(master.resizeSlave);
if (master.options.resizeit) {
master.options.resizeit.resize.push(master.resizeSlave);
}

// do not replace following event handlers with master.on.... callbacks
// remove drag/resize callbacks from master before master is closed, otherwise callbacks build up in arrays when master is recreated again after it was closed
document.addEventListener('jspanelbeforeclose', function (evt) {
if (evt.detail === master.id) {
master.options.dragit.drag = [];
master.options.resizeit.resize = [];
if (master.options.dragit) {
master.options.dragit.drag = [];
}
if (master.options.resizeit) {
master.options.resizeit.resize = [];
}
return true;
}
}, false);
Expand Down Expand Up @@ -173,7 +180,7 @@ dockPanel.getVersion = function () {
return '1.0.0';
};
dockPanel.getDate = function () {
return '2018-04-13 09:38';
return '2018-04-27 17:08';
};

jsPanel.extend({ dock: dockPanel });
2 changes: 1 addition & 1 deletion dist/extensions/dock/jspanel.dock.min.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions dist/extensions/hint/jspanel.hint.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@
/* global jsPanel */
'use strict';

//import {jsPanel} from '../../jspanel.js';

if (!jsPanel.hint) {

jsPanel.hint = {
Expand Down
2 changes: 2 additions & 0 deletions dist/extensions/layout/jspanel.layout.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@
/* global jsPanel */
'use strict';

//import {jsPanel} from '../../jspanel.js';

if (!jsPanel.layout) {

jsPanel.layout = {
Expand Down
2 changes: 2 additions & 0 deletions dist/extensions/modal/jspanel.modal.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@
/* global jsPanel */
'use strict';

//import {jsPanel} from '../../jspanel.js';

/*
If option.dragit is enabled on a modal AND an already open panel has option.syncMargins set to true the modal somehow inherits
the option.dragit.containment setting of the already open panel. Reason unknown!
Expand Down
92 changes: 0 additions & 92 deletions dist/extensions/overlay/jspanel.overlay.js
Original file line number Diff line number Diff line change
@@ -1,92 +0,0 @@
/* jspanel.overlay.js v1.0.0 2018-02-17 10:55 (c) Stefan Sträßer(Flyer53) <[email protected]> license: MIT */
/* global jsPanel */
'use strict';

jsPanel.extend({

overlay: function overlay() {
var arg = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'panel';


// create overlay and spinner elements
var overlay = document.createElement('div'),
spinner = document.createElement('i');

// style overlay
jsPanel.setStyle(overlay, {
position: 'absolute',
top: 0,
width: '100%',
height: '100%',
background: 'gray',
opacity: .6,
display: 'flex',
justifyContent: 'center',
alignItems: 'center'
});

// add class names and append spinner to overlay
overlay.className = 'jsPanel-overlay';
spinner.className = 'fas fa-spinner fa-spin fa-3x';
overlay.appendChild(spinner);

// append overlay depending on passed arg
if (arg === 'content') {
// append overlay to panel content section
this.content.appendChild(overlay);
} else {
// append overlay to panel
this.appendChild(overlay);
// deactivate events (without this panel could be resized using the mouse)
this.style.pointerEvents = 'none';
}

// panel prop indicating its deactivated status
this.deactivated = true;

// return panel to allow for chaining other panel methods
return this;
},

clear: function clear() {

if (this.deactivated) {

// reactivate events
this.style.pointerEvents = 'auto';

// remove overlay again
var overlay = this.querySelector('.jsPanel-overlay');
if (overlay) {
if (overlay.parentElement.classList.contains('jsPanel')) {
this.removeChild(overlay);
} else {
this.content.removeChild(overlay);
}
}

// reset deactivated status
this.deactivated = false;

// return panel to allow for chaining other panel methods
return this;
}
}

});

/*
let p = jsPanel.create({
theme: 'crimson'
});
window.setTimeout(function(){
p.overlay();
// or
// p.overlay('content'); // in order to add overlay to content section
},2000);
window.setTimeout(function(){
p.clear();
},6000);
*/
Loading

0 comments on commit db0445c

Please sign in to comment.