summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBernhard Posselt <dev@bernhard-posselt.com>2015-02-28 14:17:07 +0100
committerBernhard Posselt <dev@bernhard-posselt.com>2015-02-28 14:17:07 +0100
commitd85b56d5c967651e47e9723859b516c7d9c463ae (patch)
treed7507e6bc13be36b183e8fcfee432d3aee53eb00
parent7986ea3afcc0c57ecad5a25a92a5bbee8db81d08 (diff)
prefill add feed if url parameter given
-rw-r--r--CHANGELOG.md3
-rw-r--r--css/news.min.css2
-rw-r--r--css/news.min.css.map2
-rw-r--r--js/.jshintrc3
-rw-r--r--js/Gruntfile.js4
-rw-r--r--js/bower.json3
-rw-r--r--js/build/app.js31
-rw-r--r--js/build/app.min.js4
-rw-r--r--js/build/app.min.js.map2
-rw-r--r--js/gui/ExternSubscription.js36
-rw-r--r--js/karma.conf.js1
-rw-r--r--js/vendor/js-url/.bower.json15
-rw-r--r--js/vendor/js-url/.gitignore3
-rw-r--r--js/vendor/js-url/README.md89
-rw-r--r--js/vendor/js-url/gruntfile.js45
-rw-r--r--js/vendor/js-url/index.html24
-rw-r--r--js/vendor/js-url/lib/jquery-1.10.1.min.js6
-rw-r--r--js/vendor/js-url/lib/qunit/qunit.css232
-rw-r--r--js/vendor/js-url/lib/qunit/qunit.js1659
-rw-r--r--js/vendor/js-url/package.json23
-rw-r--r--js/vendor/js-url/tests.js135
-rw-r--r--js/vendor/js-url/url.jquery.json35
-rw-r--r--js/vendor/js-url/url.js81
-rw-r--r--js/vendor/js-url/url.min.js1
-rw-r--r--templates/index.php1
-rw-r--r--templates/part.navigation.addfeed.php3
26 files changed, 2431 insertions, 12 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 4bb7fdf58..092108b01 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,6 @@
+owncloud-news (5.2.7)
+* **Enhancement**: If the app is called with the subscribe_to url parameter (e.g. **?subscribe_to=http://path.to/feed**) the feed input is prefilled with the address
+
owncloud-news (5.2.6)
* **Bugfix**: Update picoFeed to strip out contents of script and style tags which were previously converted into plain text, #723
diff --git a/css/news.min.css b/css/news.min.css
index 593cf9231..e2ca6c727 100644
--- a/css/news.min.css
+++ b/css/news.min.css
@@ -1,2 +1,2 @@
-#global-loading{width:100%;height:100%}#undo-container{position:fixed;top:0;width:100%;text-align:center;z-index:101;line-height:1.2}#undo{z-index:101;background-color:#fc4;border:0;padding:0 .7em .3em;display:none;position:relative;top:0;border-bottom-left-radius:1em;border-bottom-right-radius:1em}#undo a{font-weight:700}#undo a:hover{text-decoration:underline}#app-content .no-feeds-available{text-align:center;color:#333;font-size:16pt;min-height:100%;height:100%;width:100%;display:table}#app-content .no-feeds-available p{vertical-align:middle;display:table-cell}#app-content-wrapper,#articles{height:100%}#cron-warning{background-color:#fc0;text-align:center;width:100%;padding:10px;font-size:13pt}#cron-warning li,#cron-warning p{line-height:1.5}#cron-warning a{color:#00f}#cron-warning a:hover{text-decoration:underline}#app-content.loading-content{background:url(../img/loading.gif) no-repeat;background-position:calc(50% - 16px) calc(50% - 16px);transition:none!important;-webkit-transition:none!important;-moz-webkit-transition:none!important}#app-content.loading-content>*{display:none}#app-content:not(.explore) #articles:after{content:'';display:block;height:100%;background-repeat:no-repeat}#app-content .autopaging: #articles:after{content:'';background-image:url(../img/loading.gif);background-position:calc(50% - 16px) calc(50% - 16px);transition:none!important;-webkit-transition:none!important;-moz-webkit-transition:none!important}#app-content .finished-auto-paging #articles:after{background-image:-o-linear-gradient(top,#eee 0,#FEFEFE 100%);background-image:-moz-linear-gradient(top,#eee 0,#FEFEFE 100%);background-image:-webkit-linear-gradient(top,#eee 0,#FEFEFE 100%);background-image:-ms-linear-gradient(top,#eee 0,#FEFEFE 100%);background-image:linear-gradient(to top,#eee 0,#FEFEFE 100%)}.pull-to-refresh{height:0;overflow:hidden;text-align:center;background-image:-moz-linear-gradient(top,#eee 0,#fefefe 100%);background-image:-webkit-linear-gradient(top,#eee 0,#fefefe 100%);background-image:-ms-linear-gradient(top,#eee 0,#fefefe 100%);background-image:linear-gradient(top,#eee 0,#fefefe 100%)}.pull-to-refresh.show-pull-to-refresh{transition:all .5s ease;padding-top:10px;height:44px}#app-content .only-in-expanded{display:block}#app-content .compact .only-in-expanded,#app-content .only-in-compact{display:none}#app-content .compact .only-in-compact{display:block}#app-content .item{cursor:default;border-bottom:1px solid #eee;background-image:linear-gradient(top,#f8f8f8 0,#fff 84px)}#app-content .item:last-child{border-bottom:0}#app-content .utils{width:100%;line-height:52px;box-sizing:border-box;padding:15px 50px 0 15px}#app-content .compact .utils{cursor:pointer;padding-top:0}#app-content .utils ul{height:40px;list-style-type:none;display:flex;margin:0;padding:0}#app-content .open .utils ul{height:auto}#app-content .utils ul>li{min-width:0}#app-content .util-spacer{width:20px}#app-content .compact .util-spacer{width:19px}#app-content .utils li{line-height:40px;vertical-align:middle}#app-content .utils>ul>li:last-child{padding-right:0}#app-content .utils>ul>li:first-child{padding-left:0}#app-content .utils .util{padding:0 6px}#app-content .utils .external,#app-content .utils button{padding:0;margin:0;height:40px;width:40px;border:0;float:left;background-color:transparent;background-repeat:no-repeat;background-size:25px;background-position:center}#app-content .utils .external,#app-content .utils .icon-toggle,#app-content .utils .menu button{display:inline-block;opacity:.3}#app-content .utils .external:hover,#app-content .utils .icon-toggle.keep-unread,#app-content .utils .icon-toggle:hover,#app-content .utils .menu button:hover{opacity:1}#app-content .utils .star{background-image:url(../img/inactive_star.svg)}#app-content .utils .star:hover,#app-content .utils .starred{background-image:url(../img/active_star.svg)}#app-content .utils .title{width:100%;padding-left:45px;background-position:10px 10px;background-size:20px 20px;background-repeat:no-repeat}#app-content .feed-view .utils .title{background:0 0!important;padding-left:10px}#app-content .utils .title h1 a{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;width:100%;line-height:40px;display:inline-block;color:#222;font-weight:700;font-size:16px}#app-content .open .utils .title h1 a{overflow:auto;white-space:normal}#app-content .read .utils .title h1 a{font-weight:400;color:#888}#app-content .utils .date{padding:0 15px;margin-right:25px}#app-content .heading{padding:25px 0 10px 0}#app-content .heading h1{font-size:19px;margin-right:182px;word-wrap:break-word}#app-content .heading a{font-weight:700;color:#000}#app-content .heading a:hover{text-decoration:underline}#app-content .heading .date{float:right;display:inline-block;font-size:15px}#app-content .read .heading a{font-weight:400!important;color:#888}#app-content .feed-view .source{display:none}#app-content .article{min-height:69px;padding:0 50px 50px 50px}#app-content .compact .article{display:none}#app-content .open .article{display:block}#app-content .subtitle{color:#aaa;font-size:15px;width:100%;padding-bottom:25px}#app-content .subtitle a{color:#aaa}#app-content .subtitle a:hover{text-decoration:underline}#app-content .date{color:#aaa;white-space:nowrap}#app-content .author{color:#aaa;font-size:15px}#app-content .author a{color:inherit}#app-content .author a:hover{text-decoration:underline}#app-content .enclosure{padding:20px 0;text-align:center;max-width:770px;margin-bottom:15px}#app-content .enclosure audio,#app-content .enclosure img,#app-content .enclosure video{width:100%}#app-content .enclosure video{background-color:#000}#app-content .enclosure-error{line-height:1.5;height:40px}#app-content .body{max-width:770px;font-size:14px;clear:both;overflow-x:auto}#app-content .body p{line-height:1.5;margin:7px 0 14px 0}#app-content .body img,#app-content .body table{max-width:100%;height:auto;overflow:auto;word-wrap:break-word;white-space:normal}#app-content .body>div>:first-child>img:first-child,#app-content .body>div>img:first-child{padding:0 14px 0 0;float:left}#app-content .body h1,#app-content .body h2{font-size:17px;font-weight:700;color:#222;margin:21px 0 0 0}#app-content .body h3{font-size:15px;font-weight:700;color:#222;margin:21px 0 0 0;text-decoration:underline}#app-content .body h4,#app-content .body h5,#app-content .body h6{font-weight:700}#app-content .body>div{margin:7px 0}#app-content .body a{color:#00f;text-decoration:underline}#app-content .body ul{margin:7px 0;padding-left:14px;list-style-type:disc}#app-content .body ol{margin:7px 0;padding-left:21px}#app-content .body ul li{cursor:default;line-height:21px}#app-content .body pre{padding:7px 7px 7px 14px;background-color:#dadada;border:1px solid #ccc;margin:7px 0 14px 0;overflow-y:auto}#app-content .body pre::-webkit-scrollbar{height:10px}#app-content .body pre::-webkit-scrollbar-thumb{background:#333}#app-content .body pre::-webkit-scrollbar-track-piece{background:#ddd}#app-content .body code,#app-content .body pre{font-family:monospace;font-size:16px}#app-content .body blockquote{border-left:1px solid #d2d2d2;margin:25px 0;padding:0 0 0 15px;font-style:italic}#app-content .body em{font-style:italic;opacity:1}#app-content .custom-heise-de .body p>span:first-child{display:inline-block;float:left;margin-right:10px;padding:6px 0}#app-content .custom-slashdot-org .body div>i{display:block;border-left:1px solid #d2d2d2;margin:25px 0;padding:0 0 0 15px}#app-content .custom-sueddeutsche-de a+a,#app-content .custom-sueddeutsche-de img+span{display:block}#app-shortcuts table{border-collapse:collapse;width:100%;white-space:normal}#app-shortcuts tr:first-child{background-color:#f5f5f5}#app-shortcuts td,#app-shortcuts th{padding:10px}#app-shortcuts td{padding-right:15px}#app-shortcuts th{font-weight:700}#app-shortcuts td:first-child,#app-shortcuts th:first-child{text-align:right;font-weight:700;width:140px;-moz-box-sizing:content-box;box-sizing:content-box}@media (max-width:770px){#app-content .utils .date{display:none}#app-shortcuts th:first-child{padding-left:44px}}@media (max-width:600px){#app-content .heading .date{display:none}#app-content .heading h1{margin-right:0}#app-content .utils{padding-right:15px}#app-content .article{padding-right:15px;padding-left:44px}}#app-navigation .add-new .heading{height:44px;width:100%;padding:0 0 0 44px;background-position:14px center}#app-navigation .add-new .heading:hover{background-color:#ccc}#app-navigation .add-new .heading button{padding:0;line-height:44px;width:100%;border:0;margin:0;background:0 0;text-align:left;font-weight:400}#app-navigation .add-new-popup{display:none;padding:10px;box-shadow:inset 0 0 10px #dedede;border-top:1px solid #dedede;border-bottom:1px solid #dedede}#app-navigation input.ng-invalid{border:1px solid #d14}#app-navigation .add-new-popup input,#app-navigation .add-new-popup select{width:100%;height:36px;padding:5px;margin-right:0}#app-navigation #new-feed [name=folderName],#app-navigation .add-new-popup select{width:calc(100% - 36px);border-right:0;border-top-right-radius:0;border-bottom-right-radius:0;float:left}#app-navigation .add-new-popup .add-new-folder-primary{float:right;border-bottom-left-radius:0;border-top-left-radius:0;width:36px;height:36px;margin-left:0;margin-right:0}#app-navigation .add-new-popup .error{padding:0 0 10px 0}#app-navigation .icon-starred{background-image:url(../img/starred.png)}.icon-rss{background-image:url(../img/rss.svg)!important}#app-navigation .unread>a{font-weight:700}#app-navigation .entry-loading{background-image:url(../img/loading.gif)!important}#app-navigation input.entry-loading{background-size:20px}#app-navigation p.error{line-height:25px}#app-navigation .folder-rename-error{height:auto}#app-navigation .error-message{padding:15px;background-color:#DE1212;color:#fff;position:relative}#app-navigation .ui-state-disabled{opacity:1}#app-navigation .error-message .title{font-weight:700;padding-right:30px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#app-navigation .error-message button{top:0;right:0;position:absolute;margin:0;height:44px;width:44px;padding:15px;border:0;background-size:25px;background-color:transparent;background-image:url(../img/close.svg);background-repeat:no-repeat;background-position:right 5px top 5px;opacity:.9}#app-navigation .error-message button:hover{opacity:1}#app-navigation .animate-show.ng-hide-add,#app-navigation .animate-show.ng-hide-remove{transition:0s linear opacity}#app-navigation .animate-show.ng-hide-add-active,#app-navigation .animate-show.ng-hide-remove-active{transition:.2s linear opacity}#app-navigation .animate-show{opacity:1}#app-navigation .animate-show.ng-hide{opacity:0}#app-navigation .feed-no-ordering{transform:rotate(270deg)}#app-navigation .feed-reverse-ordering{transform:rotate(180deg)}#app-settings input[type=file]{position:absolute;left:-30000px}#app-settings .opened:hover{background-color:transparent!important}#app-settings-content{padding-bottom:25px}#app-settings-content h3{padding:5px 0;font-weight:700}#app-settings-content a{color:#00F;text-decoration:underline}#app-settings-content p{padding:2px 2px 2px 10px}.button-icon-label{background-position:10px center;background-size:16px;padding-left:25px}#app-settings .import-export h3{padding-top:15px;padding-bottom:5px}#app-settings .import-export a,#app-settings .import-export button{width:113px;height:30px;margin:0;vertical-align:middle;background-position:center}#app-settings .import-export a{display:inline-block}.explore #app-content-wrapper{height:100%}#explore{height:100%;width:100%}#explore h1{font-size:16pt;padding:30px 0;text-align:center}#explore .explore-section{padding:20px 45px}#explore .explore-section h2{color:#333;font-size:14pt;padding-bottom:10px}#explore .explore-section li{padding:20px 30px;margin:0 20px 20px 0;display:inline-block;vertical-align:top;width:300px;background-color:#f5f5f5;border:1px solid #ccc}#explore .explore-section h3{line-height:45px;height:45px;font-size:13pt;background-repeat:no-repeat;background-position:0 center;background-size:24px 24px;padding:0 0 15px 35px}#explore .explore-section h3 a:hover{text-decoration:underline}#explore .explore-logo{text-align:center;margin-top:25px}#explore .explore-logo img{width:100%}#explore .explore-subscribe{padding-top:15px;text-align:right}#explore .explore-content{min-height:100px}
+#app-content .autopaging: #articles:after,#app-content.loading-content{transition:none!important;-webkit-transition:none!important;-moz-webkit-transition:none!important}#app-content .author a:hover,#app-content .body a,#app-content .body h3,#app-content .heading a:hover,#app-content .subtitle a:hover,#app-settings-content a,#cron-warning a:hover,#explore .explore-section h3 a:hover,#undo a:hover{text-decoration:underline}#global-loading{width:100%;height:100%}#undo-container{position:fixed;top:0;width:100%;text-align:center;z-index:101;line-height:1.2}#undo{z-index:101;background-color:#fc4;border:0;padding:0 .7em .3em;display:none;position:relative;top:0;border-bottom-left-radius:1em;border-bottom-right-radius:1em}#undo a{font-weight:700}#app-content .no-feeds-available{text-align:center;color:#333;font-size:16pt;min-height:100%;height:100%;width:100%;display:table}#app-content .no-feeds-available p{vertical-align:middle;display:table-cell}#app-content-wrapper,#articles{height:100%}#cron-warning{background-color:#fc0;text-align:center;width:100%;padding:10px;font-size:13pt}#cron-warning li,#cron-warning p{line-height:1.5}#cron-warning a{color:#00f}#app-content.loading-content{background:url(../img/loading.gif)no-repeat;background-position:calc(50% - 16px) calc(50% - 16px)}#app-content.loading-content>*{display:none}#app-content:not(.explore) #articles:after{content:'';display:block;height:100%;background-repeat:no-repeat}#app-content .autopaging: #articles:after{content:'';background-image:url(../img/loading.gif);background-position:calc(50% - 16px) calc(50% - 16px)}#app-content .finished-auto-paging #articles:after{background-image:-o-linear-gradient(top,#eee 0,#FEFEFE 100%);background-image:-moz-linear-gradient(top,#eee 0,#FEFEFE 100%);background-image:-webkit-linear-gradient(top,#eee 0,#FEFEFE 100%);background-image:-ms-linear-gradient(top,#eee 0,#FEFEFE 100%);background-image:linear-gradient(to top,#eee 0,#FEFEFE 100%)}.pull-to-refresh{height:0;overflow:hidden;text-align:center;background-image:-moz-linear-gradient(top,#eee 0,#fefefe 100%);background-image:-webkit-linear-gradient(top,#eee 0,#fefefe 100%);background-image:-ms-linear-gradient(top,#eee 0,#fefefe 100%);background-image:linear-gradient(top,#eee 0,#fefefe 100%)}.pull-to-refresh.show-pull-to-refresh{transition:all .5s ease;padding-top:10px;height:44px}#app-content .only-in-expanded{display:block}#app-content .compact .only-in-expanded,#app-content .only-in-compact{display:none}#app-content .compact .only-in-compact{display:block}#app-content .item{cursor:default;border-bottom:1px solid #eee;background-image:linear-gradient(top,#f8f8f8 0,#fff 84px)}#app-content .item:last-child{border-bottom:0}#app-content .utils{width:100%;line-height:52px;box-sizing:border-box;padding:15px 50px 0 15px}#app-content .compact .utils{cursor:pointer;padding-top:0}#app-content .utils ul{height:40px;list-style-type:none;display:flex;margin:0;padding:0}#app-content .open .utils ul{height:auto}#app-content .utils ul>li{min-width:0}#app-content .util-spacer{width:20px}#app-content .compact .util-spacer{width:19px}#app-content .utils li{line-height:40px;vertical-align:middle}#app-content .utils>ul>li:last-child{padding-right:0}#app-content .utils>ul>li:first-child{padding-left:0}#app-content .utils .util{padding:0 6px}#app-content .utils .external,#app-content .utils button{padding:0;margin:0;height:40px;width:40px;border:0;float:left;background-color:transparent;background-repeat:no-repeat;background-size:25px;background-position:center}#app-content .utils .external,#app-content .utils .icon-toggle,#app-content .utils .menu button{display:inline-block;opacity:.3}#app-content .utils .external:hover,#app-content .utils .icon-toggle.keep-unread,#app-content .utils .icon-toggle:hover,#app-content .utils .menu button:hover,#app-navigation .ui-state-disabled{opacity:1}#app-content .utils .star{background-image:url(../img/inactive_star.svg)}#app-content .utils .star:hover,#app-content .utils .starred{background-image:url(../img/active_star.svg)}#app-content .utils .title{width:100%;padding-left:45px;background-position:10px 10px;background-size:20px 20px;background-repeat:no-repeat}#app-content .feed-view .utils .title{background:0 0!important;padding-left:10px}#app-content .utils .title h1 a{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;width:100%;line-height:40px;display:inline-block;color:#222;font-weight:700;font-size:16px}#app-content .open .utils .title h1 a{overflow:auto;white-space:normal}#app-content .read .utils .title h1 a{font-weight:400;color:#888}#app-content .utils .date{padding:0 15px;margin-right:25px}#app-content .heading{padding:25px 0 10px 0}#app-content .heading h1{font-size:19px;margin-right:182px;word-wrap:break-word}#app-content .heading a{font-weight:700;color:#000}#app-content .heading .date{float:right;display:inline-block;font-size:15px}#app-content .compact .article,#app-content .feed-view .source{display:none}#app-content .read .heading a{font-weight:400!important;color:#888}#app-content .article{min-height:69px;padding:0 50px 50px 50px}#app-content .open .article{display:block}#app-content .subtitle{color:#aaa;font-size:15px;width:100%;padding-bottom:25px}#app-content .subtitle a{color:#aaa}#app-content .date{color:#aaa;white-space:nowrap}#app-content .author{color:#aaa;font-size:15px}#app-content .author a{color:inherit}#app-content .enclosure{padding:20px 0;text-align:center;max-width:770px;margin-bottom:15px}#app-content .enclosure audio,#app-content .enclosure img,#app-content .enclosure video{width:100%}#app-content .enclosure video{background-color:#000}#app-content .enclosure-error{line-height:1.5;height:40px}#app-content .body{max-width:770px;font-size:14px;clear:both;overflow-x:auto}#app-content .body p{line-height:1.5;margin:7px 0 14px 0}#app-content .body img,#app-content .body table{max-width:100%;height:auto;overflow:auto;word-wrap:break-word;white-space:normal}#app-content .body>div>:first-child>img:first-child,#app-content .body>div>img:first-child{padding:0 14px 0 0;float:left}#app-content .body h1,#app-content .body h2{font-size:17px;font-weight:700;color:#222;margin:21px 0 0 0}#app-content .body h3{font-size:15px;font-weight:700;color:#222;margin:21px 0 0 0}#app-content .body h4,#app-content .body h5,#app-content .body h6{font-weight:700}#app-content .body>div{margin:7px 0}#app-content .body a{color:#00f}#app-content .body ul{margin:7px 0;padding-left:14px;list-style-type:disc}#app-content .body ol{margin:7px 0;padding-left:21px}#app-content .body ul li{cursor:default;line-height:21px}#app-content .body pre{padding:7px 7px 7px 14px;background-color:#dadada;border:1px solid #ccc;margin:7px 0 14px 0;overflow-y:auto}#app-content .body pre::-webkit-scrollbar{height:10px}#app-content .body pre::-webkit-scrollbar-thumb{background:#333}#app-content .body pre::-webkit-scrollbar-track-piece{background:#ddd}#app-content .body code,#app-content .body pre{font-family:monospace;font-size:16px}#app-content .body blockquote{border-left:1px solid #d2d2d2;margin:25px 0;padding:0 0 0 15px;font-style:italic}#app-content .body em{font-style:italic;opacity:1}#app-content .custom-heise-de .body p>span:first-child{display:inline-block;float:left;margin-right:10px;padding:6px 0}#app-content .custom-slashdot-org .body div>i{display:block;border-left:1px solid #d2d2d2;margin:25px 0;padding:0 0 0 15px}#app-content .custom-sueddeutsche-de a+a,#app-content .custom-sueddeutsche-de img+span{display:block}#app-shortcuts table{border-collapse:collapse;width:100%;white-space:normal}#app-shortcuts tr:first-child{background-color:#f5f5f5}#app-shortcuts td,#app-shortcuts th{padding:10px}#app-shortcuts td{padding-right:15px}#app-shortcuts th{font-weight:700}#app-shortcuts td:first-child,#app-shortcuts th:first-child{text-align:right;font-weight:700;width:140px;-moz-box-sizing:content-box;box-sizing:content-box}@media (max-width:770px){#app-content .utils .date{display:none}#app-shortcuts th:first-child{padding-left:44px}}@media (max-width:600px){#app-content .heading .date{display:none}#app-content .heading h1{margin-right:0}#app-content .utils{padding-right:15px}#app-content .article{padding-right:15px;padding-left:44px}}#app-navigation .add-new .heading{height:44px;width:100%;padding:0 0 0 44px;background-position:14px center}#app-navigation .add-new .heading:hover{background-color:#ccc}#app-navigation .add-new .heading button{padding:0;line-height:44px;width:100%;border:0;margin:0;background:0 0;text-align:left;font-weight:400}#app-navigation .add-new-popup{display:none;padding:10px;box-shadow:inset 0 0 10px #dedede;border-top:1px solid #dedede;border-bottom:1px solid #dedede}#app-navigation input.ng-invalid{border:1px solid #d14}#app-navigation .add-new-popup input,#app-navigation .add-new-popup select{width:100%;height:36px;padding:5px;margin-right:0}#app-navigation #new-feed [name=folderName],#app-navigation .add-new-popup select{width:calc(100% - 36px);border-right:0;border-top-right-radius:0;border-bottom-right-radius:0;float:left}#app-navigation .add-new-popup .add-new-folder-primary{float:right;border-bottom-left-radius:0;border-top-left-radius:0;width:36px;height:36px;margin-left:0;margin-right:0}#app-navigation .add-new-popup .error{padding:0 0 10px 0}#app-navigation .icon-starred{background-image:url(../img/starred.png)}.icon-rss{background-image:url(../img/rss.svg)!important}#app-navigation .unread>a{font-weight:700}#app-navigation .entry-loading{background-image:url(../img/loading.gif)!important}#app-navigation input.entry-loading{background-size:20px}#app-navigation p.error{line-height:25px}#app-navigation .folder-rename-error{height:auto}#app-navigation .error-message{padding:15px;background-color:#DE1212;color:#fff;position:relative}#app-navigation .error-message .title{font-weight:700;padding-right:30px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#app-navigation .error-message button{top:0;right:0;position:absolute;margin:0;height:44px;width:44px;padding:15px;border:0;background-size:25px;background-color:transparent;background-image:url(../img/close.svg);background-repeat:no-repeat;background-position:right 5px top 5px;opacity:.9}#app-navigation .animate-show,#app-navigation .error-message button:hover{opacity:1}#app-navigation .animate-show.ng-hide-add,#app-navigation .animate-show.ng-hide-remove{transition:0s linear opacity}#app-navigation .animate-show.ng-hide-add-active,#app-navigation .animate-show.ng-hide-remove-active{transition:.2s linear opacity}#app-navigation .animate-show.ng-hide{opacity:0}#app-navigation .feed-no-ordering{transform:rotate(270deg)}#app-navigation .feed-reverse-ordering{transform:rotate(180deg)}#app-settings input[type=file]{position:absolute;left:-30000px}#app-settings .opened:hover{background-color:transparent!important}#app-settings-content{padding-bottom:25px}#app-settings-content h3{padding:5px 0;font-weight:700}#app-settings-content a{color:#00F}#app-settings-content p{padding:2px 2px 2px 10px}.button-icon-label{background-position:10px center;background-size:16px;padding-left:25px}#app-settings .import-export h3{padding-top:15px;padding-bottom:5px}#app-settings .import-export a,#app-settings .import-export button{width:113px;height:30px;margin:0;vertical-align:middle;background-position:center}#explore,.explore #app-content-wrapper{height:100%}#app-settings .import-export a{display:inline-block}#explore{width:100%}#explore h1{font-size:16pt;padding:30px 0;text-align:center}#explore .explore-section{padding:20px 45px}#explore .explore-section h2{color:#333;font-size:14pt;padding-bottom:10px}#explore .explore-section li{padding:20px 30px;margin:0 20px 20px 0;display:inline-block;vertical-align:top;width:300px;background-color:#f5f5f5;border:1px solid #ccc}#explore .explore-section h3{line-height:45px;height:45px;font-size:13pt;background-repeat:no-repeat;background-position:0 center;background-size:24px 24px;padding:0 0 15px 35px}#explore .explore-logo{text-align:center;margin-top:25px}#explore .explore-logo img{width:100%}#explore .explore-subscribe{padding-top:15px;text-align:right}#explore .explore-content{min-height:100px}
/*# sourceMappingURL=news.min.css.map */ \ No newline at end of file
diff --git a/css/news.min.css.map b/css/news.min.css.map
index fb52e27a1..51d13a458 100644
--- a/css/news.min.css.map
+++ b/css/news.min.css.map
@@ -1 +1 @@
-{"version":3,"sources":["app.css","content.css","custom.css","shortcuts.css","mobile.css","navigation.css","settings.css","explore.css"],"names":[],"mappings":"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"} \ No newline at end of file
+{"version":3,"sources":["content.css","settings.css","explore.css","app.css","navigation.css","custom.css","shortcuts.css","mobile.css"],"names":[],"mappings":"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"} \ No newline at end of file
diff --git a/js/.jshintrc b/js/.jshintrc
index 9435c5e54..2ad2ea6e6 100644
--- a/js/.jshintrc
+++ b/js/.jshintrc
@@ -45,6 +45,7 @@
"items": true,
"enumerate": true,
"News": true,
- "t": true
+ "t": true,
+ "url": true
}
}
diff --git a/js/Gruntfile.js b/js/Gruntfile.js
index 807a94ed0..85b290562 100644
--- a/js/Gruntfile.js
+++ b/js/Gruntfile.js
@@ -93,10 +93,10 @@ module.exports = function (grunt) {
options: {
wrapper: [
'(function(window, document, angular, $, OC, ' +
- 'csrfToken, undefined){\n\n\'use strict\';\n\n',
+ 'csrfToken, url, undefined){\n\n\'use strict\';\n\n',
'\n})(window, document, angular, jQuery, OC, ' +
- 'oc_requesttoken);'
+ 'oc_requesttoken, url);'
]
}
}
diff --git a/js/bower.json b/js/bower.json
index 5ce083745..6fb8cf6b3 100644
--- a/js/bower.json
+++ b/js/bower.json
@@ -30,6 +30,7 @@
"angular-animate": "~1.4.*",
"jquery": "~2.*",
"momentjs": "~2.9.*",
- "es6-shim": "~0.*"
+ "es6-shim": "~0.*",
+ "js-url": "~1.8.*"
}
}
diff --git a/js/build/app.js b/js/build/app.js
index 43bfcbd17..ae9ed83d6 100644
--- a/js/build/app.js
+++ b/js/build/app.js
@@ -1,4 +1,4 @@
-(function(window, document, angular, $, OC, csrfToken, undefined){
+(function(window, document, angular, $, OC, csrfToken, url, undefined){
'use strict';
@@ -1965,6 +1965,33 @@ app.service('SettingsResource', ["$http", "BASE_URL", function ($http, BASE_URL)
}]);
/**
+ * This prefills the add feed section if an external link has ?subsribe_to
+ * filled out
+ */
+(function (document, url, $, undefined) {
+ 'use strict';
+
+ $(document).ready(function () {
+ var subscription = url('?subscribe_to');
+
+ if (subscription) {
+ $('#new-feed').show();
+
+ var input = $('input[ng-model="Navigation.feed.url"]');
+ input.val(subscription);
+
+ // hacky way to focus because initial loading of a feed
+ // steals the focus
+ setTimeout(function() {
+ input.focus();
+ }, 1000);
+ }
+ });
+
+})(document, url, $);
+
+
+/**
* Code in here acts only as a click shortcut mechanism. That's why its not
* being put into a directive since it has to be tested with protractor
* anyways and theres no benefit from wiring it into the angular app
@@ -2854,4 +2881,4 @@ app.directive('newsTriggerClick', function () {
});
-})(window, document, angular, jQuery, OC, oc_requesttoken); \ No newline at end of file
+})(window, document, angular, jQuery, OC, oc_requesttoken, url); \ No newline at end of file
diff --git a/js/build/app.min.js b/js/build/app.min.js
index 40303443e..e374cc304 100644
--- a/js/build/app.min.js
+++ b/js/build/app.min.js
@@ -1,3 +1,3 @@
-!function(a,b,c,d,e,f,g){"use strict";var h=c.module("News",["ngRoute","ngSanitize","ngAnimate"]);h.config(["$routeProvider","$provide","$httpProvider",function(a,b,c){var d={FEED:0,FOLDER:1,STARRED:2,SUBSCRIPTIONS:3,SHARED:4,EXPLORE:5};b.constant("REFRESH_RATE",60),b.constant("ITEM_BATCH_SIZE",40),b.constant("ITEM_AUTO_PAGE_SIZE",20),b.constant("BASE_URL",e.generateUrl("/apps/news")),b.constant("FEED_TYPE",d),b.constant("MARK_READ_TIMEOUT",.5),b.constant("SCROLL_TIMEOUT",.1),b.factory("CSRFInterceptor",["$q","BASE_URL","$window",function(a,b,c){return{request:function(d){var e=c.location.href.split(c.location.pathname)[0];return(0===d.url.indexOf(b)||0===d.url.indexOf(e))&&(d.headers.requesttoken=f),d||a.when(d)}}}]);var h={0:t("news","Request failed, network connection unavailable!"),401:t("news","Request unauthorized. Are you logged in?"),403:t("news","Request forbidden. Are you an admin?"),412:t("news","Token expired or app not enabled! Reload the page!"),500:t("news","Internal server error! Please check your data/owncloud.log file for additional information!"),503:t("news","Request failed, ownCloud is in currently in maintenance mode!")};b.factory("ConnectionErrorInterceptor",["$q","$timeout",function(a,b){var c;return{responseError:function(d){return d.status in h&&(c&&b.cancel(c),e.Notification.hide(),e.Notification.showHtml(h[d.status]),c=b(function(){e.Notification.hide()},5e3)),a.reject(d)}}}]),c.interceptors.push("CSRFInterceptor"),c.interceptors.push("ConnectionErrorInterceptor");var i=function(a){return{data:["$http","$route","$q","BASE_URL","ITEM_BATCH_SIZE","FEED_TYPE","SettingsResource","FeedResource",function(b,c,d,e,f,h,i,j){var k=i.get("showAll"),l=i.get("oldestFirst"),m=d.defer();if(null===k||null===l)m.resolve({});else{var n={type:a,limit:f,showAll:k,oldestFirst:l};if(c.current.params.id!==g&&(n.id=c.current.params.id),a===h.FEED){var o=j.getById(n.id);1===o.ordering?n.oldestFirst=!0:2===o.ordering&&(n.oldestFirst=!1)}b({url:e+"/items",method:"GET",params:n}).success(function(a){m.resolve(a)})}return m.promise}]}},j=function(){return{sites:["$http","$q","BASE_URL","Publisher","SettingsResource",function(a,b,c,d,e){var f=b.defer();return a.get(c+"/settings").then(function(b){d.publishAll(b);var c=e.get("exploreUrl"),f=e.get("language");return a({url:c,method:"GET",params:{lang:f}})}).then(function(a){f.resolve(a.data)})["catch"](function(){f.reject()}),f.promise}]}};a.when("/items",{controller:"ContentController as Content",templateUrl:"content.html",resolve:i(d.SUBSCRIPTIONS),type:d.SUBSCRIPTIONS}).when("/items/starred",{controller:"ContentController as Content",templateUrl:"content.html",resolve:i(d.STARRED),type:d.STARRED}).when("/items/feeds/:id",{controller:"ContentController as Content",templateUrl:"content.html",resolve:i(d.FEED),type:d.FEED}).when("/items/folders/:id",{controller:"ContentController as Content",templateUrl:"content.html",resolve:i(d.FOLDER),type:d.FOLDER}).when("/explore",{controller:"ExploreController as Explore",templateUrl:"explore.html",resolve:j(),type:d.EXPLORE}).when("/shortcuts",{templateUrl:"shortcuts.html",type:-1})}]),h.run(["$rootScope","$location","$http","$q","$interval","$route","Loading","ItemResource","FeedResource","FolderResource","SettingsResource","Publisher","BASE_URL","FEED_TYPE","REFRESH_RATE",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){g.setLoading("global",!0),l.subscribe(h).toChannels(["items","newestItemId","starred"]),l.subscribe(j).toChannels(["folders"]),l.subscribe(i).toChannels(["feeds"]),l.subscribe(k).toChannels(["settings"]);var p=d.defer();c.get(m+"/settings").success(function(a){l.publishAll(a),p.resolve()});var q=d.defer(),r=b.path();c.get(m+"/feeds/active").success(function(a){var c;switch(a.activeFeed.type){case n.FEED:c="/items/feeds/"+a.activeFeed.id;break;case n.FOLDER:c="/items/folders/"+a.activeFeed.id;break;case n.STARRED:c="/items/starred";break;case n.EXPLORE:c="/explore";break;default:c="/items"}/^\/items(\/(starred|explore|feeds\/\d+|folders\/\d+))?\/?$/.test(r)||b.path(c),q.resolve()});var s,t=d.defer();c.get(m+"/feeds").success(function(a){s=a,t.resolve()});var u,v=d.defer();c.get(m+"/folders").success(function(a){u=a,v.resolve()}),d.all([t.promise,v.promise]).then(function(){l.publishAll(s),l.publishAll(u),0===s.feeds.length&&0===u.folders.length&&b.path("/explore")}),d.all([p.promise,q.promise,t.promise,v.promise]).then(function(){f.reload(),g.setLoading("global",!1)}),e(function(){c.get(m+"/feeds").success(function(a){l.publishAll(a)}),c.get(m+"/folders").success(function(a){l.publishAll(a)})},1e3*o),a.$on("$routeChangeStart",function(){g.setLoading("content",!0)}),a.$on("$routeChangeSuccess",function(){g.setLoading("content",!1)}),a.$on("$routeChangeError",function(){b.path("/items")})}]),h.controller("AppController",["Loading","FeedResource","FolderResource",function(a,b,c){this.loading=a,this.isFirstRun=function(){return 0===b.size()&&0===c.size()}}]),h.controller("ContentController",["Publisher","FeedResource","ItemResource","SettingsResource","data","$route","$routeParams","FEED_TYPE","ITEM_AUTO_PAGE_SIZE","Loading",function(a,b,c,d,e,f,h,i,j,k){c.clear(),a.publishAll(e),this.isAutoPagingEnabled=!0,this.isNothingMoreToAutoPage=c.size()>=j?!1:!0,this.getItems=function(){return c.getAll()},this.toggleStar=function(a){c.toggleStar(a)},this.toggleItem=function(a){this.isCompactView()&&(a.show=!a.show)},this.isShowAll=function(){return d.get("showAll")},this.markRead=function(a){var d=c.get(a);d.keepUnread||d.unread!==!0||(c.markItemRead(a),b.markItemOfFeedRead(d.feedId))},this.getFeed=function(a){return b.getById(a)},this.toggleKeepUnread=function(a){var d=c.get(a);d.unread||(b.markItemOfFeedUnread(d.feedId),c.markItemRead(a,!1)),d.keepUnread=!d.keepUnread};var l=this,m=function(){var a=d.get("oldestFirst");if(l.isFeed()){var c=b.getById(h.id);c&&1===c.ordering?a=!0:c&&2===c.ordering&&(a=!1)}return a};this.orderBy=function(){return m()?"id":"-id"},this.isCompactView=function(){return d.get("compact")},this.isCompactExpand=function(){return d.get("compactExpand")},this.autoPagingEnabled=function(){return this.isAutoPagingEnabled},this.markReadEnabled=function(){return!d.get("preventReadOnScroll")},this.scrollRead=function(a){var d=[],e=[];a.forEach(function(a){var b=c.get(a);b.keepUnread||(d.push(a),e.push(b.feedId))}),d.length>0&&(b.markItemsOfFeedsRead(e),c.markItemsRead(d))},this.isFeed=function(){return f.current.$$route.type===i.FEED},this.autoPage=function(){if(!this.isNothingMoreToAutoPage){if(!this.isAutoPagingEnabled)return void(this.autoPageAgain=!0);this.isAutoPagingEnabled=!1,this.autoPageAgain=!1;var b=f.current.$$route.type,e=h.id,g=m(),i=d.get("showAll"),l=this;k.setLoading("autopaging",!0),c.autoPage(b,e,g,i).success(function(b){a.publishAll(b),b.items.length>=j?l.isAutoPagingEnabled=!0:l.isNothingMoreToAutoPage=!0,l.isAutoPagingEnabled&&l.autoPageAgain&&l.autoPage()}).error(function(){l.isAutoPagingEnabled=!0})["fina