From 8b633051a4666852723046fbfecf5efd9cf36e95 Mon Sep 17 00:00:00 2001
From: Johannes Raggam
Date: Wed, 18 Sep 2019 09:48:38 +0200
Subject: [PATCH 01/21] updated shrinkwrap after npm install
---
npm-shrinkwrap.json | 38 ++++++++++----------------------------
1 file changed, 10 insertions(+), 28 deletions(-)
diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json
index f75a1c187..72287c927 100644
--- a/npm-shrinkwrap.json
+++ b/npm-shrinkwrap.json
@@ -2534,7 +2534,6 @@
"version": "1.4.0",
"resolved": false,
"integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
- "optional": true,
"requires": {
"wrappy": "1"
}
@@ -2706,8 +2705,7 @@
"wrappy": {
"version": "1.0.2",
"resolved": false,
- "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
- "optional": true
+ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
}
}
},
@@ -12843,8 +12841,7 @@
"ansi-regex": {
"version": "2.1.1",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"aproba": {
"version": "1.2.0",
@@ -12887,8 +12884,7 @@
"code-point-at": {
"version": "1.1.0",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"concat-map": {
"version": "0.0.1",
@@ -12899,8 +12895,7 @@
"console-control-strings": {
"version": "1.1.0",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"core-util-is": {
"version": "1.0.2",
@@ -13017,8 +13012,7 @@
"inherits": {
"version": "2.0.3",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"ini": {
"version": "1.3.5",
@@ -13030,7 +13024,6 @@
"version": "1.0.0",
"bundled": true,
"dev": true,
- "optional": true,
"requires": {
"number-is-nan": "^1.0.0"
}
@@ -13045,7 +13038,6 @@
"version": "3.0.4",
"bundled": true,
"dev": true,
- "optional": true,
"requires": {
"brace-expansion": "^1.1.7"
}
@@ -13053,14 +13045,12 @@
"minimist": {
"version": "0.0.8",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"minipass": {
"version": "2.3.5",
"bundled": true,
"dev": true,
- "optional": true,
"requires": {
"safe-buffer": "^5.1.2",
"yallist": "^3.0.0"
@@ -13079,7 +13069,6 @@
"version": "0.5.1",
"bundled": true,
"dev": true,
- "optional": true,
"requires": {
"minimist": "0.0.8"
}
@@ -13160,8 +13149,7 @@
"number-is-nan": {
"version": "1.0.1",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"object-assign": {
"version": "4.1.1",
@@ -13173,7 +13161,6 @@
"version": "1.4.0",
"bundled": true,
"dev": true,
- "optional": true,
"requires": {
"wrappy": "1"
}
@@ -13259,8 +13246,7 @@
"safe-buffer": {
"version": "5.1.2",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"safer-buffer": {
"version": "2.1.2",
@@ -13296,7 +13282,6 @@
"version": "1.0.2",
"bundled": true,
"dev": true,
- "optional": true,
"requires": {
"code-point-at": "^1.0.0",
"is-fullwidth-code-point": "^1.0.0",
@@ -13316,7 +13301,6 @@
"version": "3.0.1",
"bundled": true,
"dev": true,
- "optional": true,
"requires": {
"ansi-regex": "^2.0.0"
}
@@ -13360,14 +13344,12 @@
"wrappy": {
"version": "1.0.2",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"yallist": {
"version": "3.0.3",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
}
}
},
From 8ffdcbee7404c2e82f536492245786cbbbffe2cf Mon Sep 17 00:00:00 2001
From: Johannes Raggam
Date: Tue, 17 Sep 2019 15:57:36 +0200
Subject: [PATCH 02/21] Add pat-fullscreen Pattern to allow any element to be
displayed in fullscreen-mode.
---
CHANGES.md | 1 +
Makefile | 3 +-
_sass/_patterns.scss | 1 +
index.html | 1 +
src/pat/fullscreen/_fullscreen.scss | 9 ++++
src/pat/fullscreen/documentation.md | 17 +++++++
src/pat/fullscreen/fullscreen.js | 42 ++++++++++++++++
src/pat/fullscreen/index.html | 26 ++++++++++
src/pat/fullscreen/tests.js | 75 +++++++++++++++++++++++++++++
src/patterns.js | 1 +
style/patterns.css | 9 ++++
webpack/base.config.js | 3 +-
12 files changed, 186 insertions(+), 2 deletions(-)
create mode 100644 src/pat/fullscreen/_fullscreen.scss
create mode 100644 src/pat/fullscreen/documentation.md
create mode 100644 src/pat/fullscreen/fullscreen.js
create mode 100644 src/pat/fullscreen/index.html
create mode 100644 src/pat/fullscreen/tests.js
diff --git a/CHANGES.md b/CHANGES.md
index fea77906b..da26b8e9d 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -5,6 +5,7 @@
Features
~~~~~~~~
+- Add ``pat-fullscreen`` pattern to allow any element to be displayed in fullscreen-mode.
- Runs now on jQuery 3.
- Integrated pat-display-time from https://github.com/ploneintranet/pat-display-time
diff --git a/Makefile b/Makefile
index 6991ac441..d20c33b30 100644
--- a/Makefile
+++ b/Makefile
@@ -87,6 +87,7 @@ all_css:: css
@$(SASS) -I . -I _sass src/pat/focus/_focus.scss src/pat/focus/focus.css
@echo "Almost there, don't give up!"
@$(SASS) -I . -I _sass src/pat/forward/_forward.scss src/pat/forward/forward.css
+ @$(SASS) -I . -I _sass src/pat/fullscreen/_fullscreen.scss src/pat/fullscreen/fullscreen.css
@$(SASS) -I . -I _sass src/pat/gallery/_gallery.scss src/pat/gallery/gallery.css
@$(SASS) -I . -I _sass src/pat/grid/_grid.scss src/pat/grid/grid.css
@$(SASS) -I . -I _sass src/pat/image-crop/_image-crop.scss src/pat/image-crop/image-crop.css
@@ -117,7 +118,7 @@ watch::
serve:: all _serve
-push:
+push:
cd push && hz serve --dev
_serve:
diff --git a/_sass/_patterns.scss b/_sass/_patterns.scss
index a7d62d644..c2610cd53 100644
--- a/_sass/_patterns.scss
+++ b/_sass/_patterns.scss
@@ -30,6 +30,7 @@
@import "src/pat/equaliser/equaliser";
@import "src/pat/expandable-tree/expandable-tree";
@import "src/pat/focus/focus";
+@import "src/pat/fullscreen/fullscreen";
@import "src/pat/gallery/gallery";
@import "src/pat/grid/grid";
@import "src/pat/syntax-highlight/syntax-highlight";
diff --git a/index.html b/index.html
index 00e42803c..273f4bcab 100644
--- a/index.html
+++ b/index.html
@@ -70,6 +70,7 @@ Fancy stuff
Slideshowsβ
Slideshow builderβ
Masonryβ
+ Fullscreenβ
+
+ Fullscreen examples
+
+
+
+
+ Example 3
+
+
+
diff --git a/src/pat/fullscreen/_fullscreen.scss b/src/pat/fullscreen/_fullscreen.scss
new file mode 100644
index 000000000..720d7eb5a
--- /dev/null
+++ b/src/pat/fullscreen/_fullscreen.scss
@@ -0,0 +1,9 @@
+:fullscreen {
+ background-color: transparent;
+}
+.fullscreen-exit {
+ position: absolute;
+ top: 1rem;
+ right: 1rem;
+ cursor: pointer;
+}
diff --git a/src/pat/fullscreen/documentation.md b/src/pat/fullscreen/documentation.md
new file mode 100644
index 000000000..ac170f092
--- /dev/null
+++ b/src/pat/fullscreen/documentation.md
@@ -0,0 +1,17 @@
+## Description
+
+The *fullscreen* pattern allows you to display any element in fullscreen-mode.
+
+## Documentation
+
+When the ``pat-fullscreen`` link is clicked, the element which the anchor-link refers to in it's ``href`` attribute is sent to fullscreen.
+A link with the class ``fullscreen-exit`` is added to the element which is sent to fullscreen and removed when exiting fullscreen-mode.
+
+### Examples
+
+ Open fullscreen
+
+ Example
+
+
+
diff --git a/src/pat/fullscreen/fullscreen.js b/src/pat/fullscreen/fullscreen.js
new file mode 100644
index 000000000..605040006
--- /dev/null
+++ b/src/pat/fullscreen/fullscreen.js
@@ -0,0 +1,42 @@
+define([
+ "pat-base",
+ "pat-logger"
+], function(Base, logging) {
+ var log = logging.getLogger("fullscreen");
+
+ return Base.extend({
+ name: "fullscreen",
+ trigger: ".pat-fullscreen",
+
+ init: function() {
+ var el = this.$el[0];
+ el.addEventListener('click', function (e) {
+ e.preventDefault();
+ // querying the fullscreen element fs_el and inside the event
+ // handler instead of outside allows for dynamic injecting
+ // fullscreen elements even after pattern initialization.
+ var fs_el = document.querySelector(el.getAttribute('href'));
+ if (fs_el) {
+ // setting up the exit button
+ var exit_el = document.createElement('a');
+ exit_el.className = 'fullscreen-exit';
+ exit_el.appendChild(document.createTextNode('Exit fullscreen'));
+ exit_el.addEventListener('click', function (e) {
+ e.preventDefault();
+ document.exitFullscreen();
+ exit_el.remove();
+ });
+ // setting page to fullscreen
+ fs_el.requestFullscreen();
+ fs_el.appendChild(exit_el);
+
+ } else {
+ log.error('No fullscreen element found.');
+ }
+ });
+ }
+ });
+});
+
+// jshint indent: 4, browser: true, jquery: true, quotmark: double
+// vim: sw=4 expandtab
diff --git a/src/pat/fullscreen/index.html b/src/pat/fullscreen/index.html
new file mode 100644
index 000000000..670d391fd
--- /dev/null
+++ b/src/pat/fullscreen/index.html
@@ -0,0 +1,26 @@
+
+
+