Skip to content

Commit 450958d

Browse files
committed
chore: add html menu item support in CommandManager.register and 'Get Phoenix pro' in help
1 parent 823b05d commit 450958d

File tree

6 files changed

+35
-2
lines changed

6 files changed

+35
-2
lines changed

src/command/CommandManager.js

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,15 @@ define(function (require, exports, module) {
148148
return this._enabled;
149149
};
150150

151+
/**
152+
* get the command options
153+
*
154+
* @return {object}
155+
*/
156+
Command.prototype.getOptions = function () {
157+
return this._options || {};
158+
};
159+
151160
/**
152161
* Sets enabled state of Command and dispatches "enabledStateChange"
153162
* when the enabled state changes.
@@ -196,11 +205,17 @@ define(function (require, exports, module) {
196205
* use \uXXXX instead of an HTML entity.
197206
*
198207
* @param {string} name
208+
* @param {string} htmlName If set, this will be displayed in ui menus instead of the name given.
209+
* Eg. "Phoenix menu<i class='fa fa-car' style='margin-left: 4px;'></i>"
199210
*/
200-
Command.prototype.setName = function (name) {
201-
var changed = this._name !== name;
211+
Command.prototype.setName = function (name, htmlName) {
212+
let changed = this._name !== name;
202213
this._name = name;
203214

215+
if (htmlName && this._options.htmlName !== htmlName) {
216+
changed = true;
217+
this._options.htmlName = htmlName;
218+
}
204219
if (changed) {
205220
this.trigger("nameChange");
206221
}
@@ -233,6 +248,8 @@ define(function (require, exports, module) {
233248
* @param {boolean} options.eventSource If set to true, the commandFn will be called with the first argument `event`
234249
* with details about the source(invoker) as event.eventSource(one of the `CommandManager.SOURCE_*`) and
235250
* event.sourceType(Eg. Ctrl-K) parameter.
251+
* @param {string} options.htmlName If set, this will be displayed in ui menus instead of the name given.
252+
* Eg. "Phoenix menu<i class='fa fa-car' style='margin-left: 4px;'></i>"
236253
* @return {?Command}
237254
*/
238255
function register(name, id, commandFn, options={}) {

src/command/Commands.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -405,6 +405,9 @@ define(function (require, exports, module) {
405405
/** Opens support resources */
406406
exports.HELP_SUPPORT = "help.support"; // HelpCommandHandlers.js _handleLinkMenuItem()
407407

408+
/** Opens Phoenix Pro page */
409+
exports.HELP_GET_PRO = "help.getPro"; // HelpCommandHandlers.js _handleLinkMenuItem()
410+
408411
/** Opens feature suggestion page */
409412
exports.HELP_SUGGEST = "help.suggest"; // HelpCommandHandlers.js _handleLinkMenuItem()
410413

src/command/DefaultMenus.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -268,6 +268,8 @@ define(function (require, exports, module) {
268268
menu.addMenuItem(Commands.HELP_DOCS);
269269
menu.addMenuItem(Commands.HELP_SUPPORT);
270270
menu.addMenuDivider();
271+
menu.addMenuItem(Commands.HELP_GET_PRO);
272+
menu.addMenuDivider();
271273
if (brackets.config.suggest_feature_url) {
272274
menu.addMenuItem(Commands.HELP_SUGGEST);
273275
}

src/command/Menus.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1108,6 +1108,11 @@ define(function (require, exports, module) {
11081108
}
11091109
});
11101110
} else {
1111+
const htmlName = this._command.getOptions().htmlName;
1112+
if(htmlName) {
1113+
$(_getHTMLMenuItem(this.id)).find(".menu-name").html(htmlName);
1114+
return;
1115+
}
11111116
$(_getHTMLMenuItem(this.id)).find(".menu-name").text(this._command.getName());
11121117
}
11131118
};

src/help/HelpCommandHandlers.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -160,9 +160,14 @@ define(function (require, exports, module) {
160160
});
161161
});
162162

163+
const getProString = `${Strings.CMD_GET_PRO}<i class='fa fa-feather' style='margin-left: 4px;'></i>`;
164+
163165
CommandManager.register(Strings.CMD_HOW_TO_USE_BRACKETS, Commands.HELP_HOW_TO_USE_BRACKETS, _handleLinkMenuItem(brackets.config.how_to_use_url));
164166
CommandManager.register(Strings.CMD_DOCS, Commands.HELP_DOCS, _handleLinkMenuItem(brackets.config.docs_url));
165167
CommandManager.register(Strings.CMD_SUPPORT, Commands.HELP_SUPPORT, _handleLinkMenuItem(brackets.config.support_url));
168+
CommandManager.register(Strings.CMD_GET_PRO, Commands.HELP_GET_PRO, _handleLinkMenuItem(brackets.config.purchase_url), {
169+
htmlName: getProString
170+
});
166171
CommandManager.register(Strings.CMD_SUGGEST, Commands.HELP_SUGGEST, _handleLinkMenuItem(brackets.config.suggest_feature_url));
167172
CommandManager.register(Strings.CMD_REPORT_ISSUE, Commands.HELP_REPORT_ISSUE, _handleLinkMenuItem(brackets.config.report_issue_url));
168173
CommandManager.register(Strings.CMD_RELEASE_NOTES, Commands.HELP_RELEASE_NOTES, _handleLinkMenuItem(brackets.config.release_notes_url));

src/nls/root/strings.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -649,6 +649,7 @@ define({
649649
"CMD_AUTO_UPDATE": "Auto Update",
650650
"CMD_HOW_TO_USE_BRACKETS": "How to Use {APP_NAME}",
651651
"CMD_SUPPORT": "{APP_NAME} Support",
652+
"CMD_GET_PRO": "Get Phoenix Pro",
652653
"CMD_USER_PROFILE": "{APP_NAME} Account",
653654
"CMD_DOCS": "Help, Getting Started",
654655
"CMD_SUGGEST": "Suggest a Feature",

0 commit comments

Comments
 (0)