From 278fb1345abbd1cf9ec7aa5cfede06f8c6cc2704 Mon Sep 17 00:00:00 2001 From: Marcelo Schmidt <marcelo.schmidt@konecty.com> Date: Thu, 8 Oct 2015 11:28:01 -0300 Subject: [PATCH] Create channel settings tab bar icon --- .meteor/packages | 1 + .meteor/versions | 1 + .../client/stylesheets/channel-settings.less | 17 ++++++++ .../client/tabBar.coffee | 11 +++++ .../client/views/channelSettings.coffee | 7 ++++ .../client/views/channelSettings.html | 25 ++++++++++++ .../i18n/en.i18n.json | 6 +++ .../rocketchat-channel-settings/package.js | 40 +++++++++++++++++++ 8 files changed, 108 insertions(+) create mode 100644 packages/rocketchat-channel-settings/client/stylesheets/channel-settings.less create mode 100644 packages/rocketchat-channel-settings/client/tabBar.coffee create mode 100644 packages/rocketchat-channel-settings/client/views/channelSettings.coffee create mode 100644 packages/rocketchat-channel-settings/client/views/channelSettings.html create mode 100644 packages/rocketchat-channel-settings/i18n/en.i18n.json create mode 100644 packages/rocketchat-channel-settings/package.js diff --git a/.meteor/packages b/.meteor/packages index 7e27d2e2ab7..19e32dbe3cf 100644 --- a/.meteor/packages +++ b/.meteor/packages @@ -44,6 +44,7 @@ rocketchat:slashcommands-leave rocketchat:spotify rocketchat:statistics rocketchat:webrtc +rocketchat:channel-settings #rocketchat:chatops #rocketchat:livechat #rocketchat:hubot diff --git a/.meteor/versions b/.meteor/versions index 45238b76c83..4fcb93e66b1 100644 --- a/.meteor/versions +++ b/.meteor/versions @@ -125,6 +125,7 @@ reload@1.1.4 retry@1.0.4 rocketchat:authorization@0.0.1 rocketchat:autolinker@0.0.1 +rocketchat:channel-settings@0.0.1 rocketchat:chatops@0.0.1 rocketchat:colors@0.0.1 rocketchat:custom-oauth@1.0.0 diff --git a/packages/rocketchat-channel-settings/client/stylesheets/channel-settings.less b/packages/rocketchat-channel-settings/client/stylesheets/channel-settings.less new file mode 100644 index 00000000000..0227c11170d --- /dev/null +++ b/packages/rocketchat-channel-settings/client/stylesheets/channel-settings.less @@ -0,0 +1,17 @@ +.flex-tab { + .channel-settings { + margin-top: 60px; + padding: 20px; + + form { + label { + + } + } + + .submit { + margin-top: 30px; + text-align: center; + } + } +} diff --git a/packages/rocketchat-channel-settings/client/tabBar.coffee b/packages/rocketchat-channel-settings/client/tabBar.coffee new file mode 100644 index 00000000000..46bc83eacd8 --- /dev/null +++ b/packages/rocketchat-channel-settings/client/tabBar.coffee @@ -0,0 +1,11 @@ +Meteor.startup -> + + RocketChat.callbacks.add 'enter-room', -> + RocketChat.TabBar.addButton + id: 'channel-settings' + i18nTitle: 'Channel_Settings' + icon: 'octicon octicon-gear' + template: 'channelSettings' + order: 0 + + , RocketChat.callbacks.priority.MEDIUM, 'enter-room-tabbar-channel-settings' diff --git a/packages/rocketchat-channel-settings/client/views/channelSettings.coffee b/packages/rocketchat-channel-settings/client/views/channelSettings.coffee new file mode 100644 index 00000000000..5225bf4010b --- /dev/null +++ b/packages/rocketchat-channel-settings/client/views/channelSettings.coffee @@ -0,0 +1,7 @@ +Template.channelSettings.helpers + notDirect: -> + return ChatRoom.findOne(@rid).t isnt 'd' + roomType: -> + return ChatRoom.findOne(@rid).t + +Template.channelSettings.onCreated -> diff --git a/packages/rocketchat-channel-settings/client/views/channelSettings.html b/packages/rocketchat-channel-settings/client/views/channelSettings.html new file mode 100644 index 00000000000..c72ecae4ad6 --- /dev/null +++ b/packages/rocketchat-channel-settings/client/views/channelSettings.html @@ -0,0 +1,25 @@ +<template name="channelSettings"> + <div class="control"> + <div class="header"> + <h2>{{_ "Room_Settings"}}</h2> + </div> + </div> + <div class="channel-settings scrollable"> + <form> + <fieldset> + {{#if notDirect}} + <div class="input-line double-col"> + <label>{{_ "Room_Type"}}</label> + <div> + <label><input type="radio" name="roomType" value="c" checked="{{$eq roomType 'c'}}" /> {{_ "Channel"}}</label> + <label><input type="radio" name="roomType" value="p" checked="{{$eq roomType 'p'}}" /> {{_ "Private_Group"}}</label> + </div> + </div> + {{/if}} + </fieldset> + <div class="submit"> + <button class="button save"><i class="icon-send"></i><span>{{_ "Save_changes"}}</span></button> + </div> + </form> + </div> +</template> diff --git a/packages/rocketchat-channel-settings/i18n/en.i18n.json b/packages/rocketchat-channel-settings/i18n/en.i18n.json new file mode 100644 index 00000000000..3a052c3d63b --- /dev/null +++ b/packages/rocketchat-channel-settings/i18n/en.i18n.json @@ -0,0 +1,6 @@ +{ + "Channel": "Channel", + "Private_Group": "Private Group", + "Room_Type": "Room Type", + "Room_Settings": "Room Settings" +} diff --git a/packages/rocketchat-channel-settings/package.js b/packages/rocketchat-channel-settings/package.js new file mode 100644 index 00000000000..9cc6d0d9b7c --- /dev/null +++ b/packages/rocketchat-channel-settings/package.js @@ -0,0 +1,40 @@ +Package.describe({ + name: 'rocketchat:channel-settings', + version: '0.0.1', + summary: 'Channel Settings Panel', + git: '' +}); + +Package.onUse(function(api) { + api.versionsFrom('1.0'); + + api.use([ + 'coffeescript', + 'templating', + 'less@2.5.0', + 'rocketchat:lib@0.0.1' + ]); + + api.addFiles([ + 'client/tabBar.coffee', + 'client/views/channelSettings.html', + 'client/views/channelSettings.coffee', + 'client/stylesheets/channel-settings.less', + ], 'client'); + + // TAPi18n + var _ = Npm.require('underscore'); + var fs = Npm.require('fs'); + tapi18nFiles = _.compact(_.map(fs.readdirSync('packages/rocketchat-channel-settings/i18n'), function(filename) { + if (fs.statSync('packages/rocketchat-channel-settings/i18n/' + filename).size > 16) { + return 'i18n/' + filename; + } + })); + api.use('tap:i18n@1.6.1'); + api.imply('tap:i18n'); + api.addFiles(tapi18nFiles); +}); + +Package.onTest(function(api) { + +}); -- GitLab