"ooui-dialog-action-close": "Cerrar",
"ooui-outline-control-move-down": "Mover abajo",
"ooui-outline-control-move-up": "Mover arriba",
+ "ooui-outline-control-remove": "Eliminar elemento",
"ooui-toolbar-more": "Más"
}
\ No newline at end of file
"ooui-dialog-action-close": "Sule",
"ooui-outline-control-move-down": "Liiguta üksust allapoole",
"ooui-outline-control-move-up": "Liiguta üksust ülespoole",
+ "ooui-outline-control-remove": "Eemalda üksus",
"ooui-toolbar-more": "Veel"
}
\ No newline at end of file
"ooui-dialog-action-close": "Жабу",
"ooui-outline-control-move-down": "Элементті төмен жылжыту",
"ooui-outline-control-move-up": "Элементті жоғары жылжыту",
+ "ooui-outline-control-remove": "Элементті алып тастау",
"ooui-toolbar-more": "толығырақ"
}
\ No newline at end of file
{
"@metadata": {
"authors": [
- "AlimanRuna"
+ "AlimanRuna",
+ "Jduranboger"
]
},
"ooui-dialog-action-close": "Wichq'ay",
"ooui-outline-control-move-down": "Qallawata uraykuchiy",
"ooui-outline-control-move-up": "Qallawata huqariy",
+ "ooui-outline-control-remove": "P'anqa sutikunata qichuy",
"ooui-toolbar-more": "Aswan"
}
\ No newline at end of file
transition: border-color 300ms ease-in-out;
}
-.oo-ui-toolGroup:hover {
+.oo-ui-toolGroup.oo-ui-widget-enabled:hover {
border-color: rgba(0, 0, 0, 0.1);
}
-.oo-ui-toolGroup .oo-ui-tool-link .oo-ui-tool-title {
+.oo-ui-toolGroup.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title {
color: #000;
}
border-bottom-right-radius: 0.25em;
}
-.oo-ui-barToolGroup .oo-ui-tool.oo-ui-widget-enabled:hover {
+.oo-ui-barToolGroup .oo-ui-tool-link .oo-ui-iconedElement-icon {
+ opacity: 0.8;
+}
+
+.oo-ui-barToolGroup.oo-ui-widget-enabled .oo-ui-tool.oo-ui-widget-enabled:hover {
border-color: rgba(0, 0, 0, 0.2);
}
-.oo-ui-barToolGroup .oo-ui-tool-active.oo-ui-widget-enabled {
+.oo-ui-barToolGroup.oo-ui-widget-enabled .oo-ui-tool-active.oo-ui-widget-enabled {
background: #f8fbfd;
background-image: -webkit-gradient(linear, right top, right bottom, color-stop(0%, #f1f7fb), color-stop(100%, #ffffff));
background-image: -webkit-linear-gradient(top, #f1f7fb 0%, #ffffff 100%);
box-shadow: inset 0 0.07em 0.07em 0 rgba(0, 0, 0, 0.07);
}
-.oo-ui-barToolGroup .oo-ui-tool-active.oo-ui-widget-enabled + .oo-ui-tool-active.oo-ui-widget-enabled {
+.oo-ui-barToolGroup.oo-ui-widget-enabled .oo-ui-tool-active.oo-ui-widget-enabled + .oo-ui-tool-active.oo-ui-widget-enabled {
border-left-color: rgba(0, 0, 0, 0.1);
}
-.oo-ui-barToolGroup .oo-ui-tool-link .oo-ui-iconedElement-icon {
- opacity: 0.8;
-}
-
-.oo-ui-barToolGroup .oo-ui-tool.oo-ui-widget-disabled .oo-ui-tool-link .oo-ui-iconedElement-icon {
+.oo-ui-barToolGroup.oo-ui-widget-enabled .oo-ui-tool.oo-ui-widget-disabled .oo-ui-tool-link .oo-ui-iconedElement-icon {
opacity: 0.2;
}
-.oo-ui-barToolGroup .oo-ui-tool.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-iconedElement-icon {
+.oo-ui-barToolGroup.oo-ui-widget-enabled .oo-ui-tool.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-iconedElement-icon {
opacity: 0.8;
}
-.oo-ui-barToolGroup .oo-ui-tool.oo-ui-widget-enabled:hover .oo-ui-tool-link .oo-ui-iconedElement-icon {
+.oo-ui-barToolGroup.oo-ui-widget-enabled .oo-ui-tool.oo-ui-widget-enabled:hover .oo-ui-tool-link .oo-ui-iconedElement-icon {
opacity: 1;
}
+.oo-ui-barToolGroup.oo-ui-widget-disabled .oo-ui-tool-link .oo-ui-iconedElement-icon {
+ opacity: 0.2;
+}
+
.oo-ui-listToolGroup.oo-ui-popupToolGroup-active {
border-color: rgba(0, 0, 0, 0.2);
}
opacity: 0.2;
}
+.oo-ui-listToolGroup.oo-ui-widget-disabled .oo-ui-indicatedElement-indicator,
+.oo-ui-listToolGroup.oo-ui-widget-disabled .oo-ui-iconedElement-icon {
+ opacity: 0.2;
+}
+
.oo-ui-menuToolGroup {
border-color: rgba(0, 0, 0, 0.1);
}
-.oo-ui-menuToolGroup:hover {
+.oo-ui-menuToolGroup.oo-ui-widget-enabled:hover {
border-color: rgba(0, 0, 0, 0.2);
}
border-color: rgba(0, 0, 0, 0.25);
}
-.oo-ui-menuToolGroup .oo-ui-tool:hover {
+.oo-ui-menuToolGroup .oo-ui-tool.oo-ui-widget-enabled:hover {
background-color: #e1f3ff;
}
+.oo-ui-menuToolGroup .oo-ui-tool.oo-ui-widget-disabled .oo-ui-tool-link .oo-ui-tool-title {
+ color: #ccc;
+}
+
+.oo-ui-menuToolGroup .oo-ui-tool.oo-ui-widget-disabled .oo-ui-tool-link .oo-ui-iconedElement-icon {
+ opacity: 0.2;
+}
+
+.oo-ui-menuToolGroup.oo-ui-widget-disabled {
+ color: #ccc;
+ text-shadow: 0 1px 1px #fff;
+ background-color: #f3f3f3;
+ border-color: #ddd;
+}
+
+.oo-ui-menuToolGroup.oo-ui-widget-disabled .oo-ui-indicatedElement-indicator,
+.oo-ui-menuToolGroup.oo-ui-widget-disabled .oo-ui-iconedElement-icon {
+ opacity: 0.2;
+}
+
.oo-ui-popupToolGroup-handle .oo-ui-indicatedElement-indicator,
.oo-ui-popupToolGroup-handle .oo-ui-iconedElement-icon {
opacity: 0.8;
/*!
- * OOjs UI v0.1.0-pre (e9e435be5e)
+ * OOjs UI v0.1.0-pre (23fb1b6144)
* https://www.mediawiki.org/wiki/OOjs_UI
*
* Copyright 2011–2014 OOjs Team and other contributors.
* Released under the MIT license
* http://oojs.mit-license.org
*
- * Date: Thu Mar 27 2014 11:42:46 GMT-0700 (PDT)
+ * Date: Thu Mar 27 2014 14:49:30 GMT-0700 (PDT)
*/
-( function () {
+( function ( OO ) {
'use strict';
/**
*
* @constructor
* @param {OO.ui.ToolFactory} toolFactory Factory for creating tools
+ * @param {OO.ui.ToolGroupFactory} toolGroupFactory Factory for creating tool groups
* @param {Object} [config] Configuration options
* @cfg {boolean} [actions] Add an actions section opposite to the tools
* @cfg {boolean} [shadow] Add a shadow below the toolbar
*/
-OO.ui.Toolbar = function OoUiToolbar( toolFactory, config ) {
+OO.ui.Toolbar = function OoUiToolbar( toolFactory, toolGroupFactory, config ) {
// Configuration initialization
config = config || {};
// Properties
this.toolFactory = toolFactory;
+ this.toolGroupFactory = toolGroupFactory;
this.groups = [];
this.tools = {};
this.$bar = this.$( '<div>' );
return this.toolFactory;
};
+/**
+ * Get the tool group factory.
+ *
+ * @return {OO.Factory} Tool group factory
+ */
+OO.ui.Toolbar.prototype.getToolGroupFactory = function () {
+ return this.toolGroupFactory;
+};
+
/**
* Handles mouse down events.
*
OO.ui.Toolbar.prototype.setup = function ( groups ) {
var i, len, type, group,
items = [],
- // TODO: Use a registry instead
- defaultType = 'bar',
- constructors = {
- 'bar': OO.ui.BarToolGroup,
- 'list': OO.ui.ListToolGroup,
- 'menu': OO.ui.MenuToolGroup
- };
+ defaultType = 'bar';
// Cleanup previous groups
this.reset();
group.label = 'ooui-toolbar-more';
}
}
- type = constructors[group.type] ? group.type : defaultType;
+ // Check type has been registered
+ type = this.getToolGroupFactory().lookup( group.type ) ? group.type : defaultType;
items.push(
- new constructors[type]( this, $.extend( { '$': this.$ }, group ) )
+ this.getToolGroupFactory().create( type, this, $.extend( { '$': this.$ }, group ) )
);
}
this.addItems( items );
}
this.$element.remove();
};
+/**
+ * Factory for tools.
+ *
+ * @class
+ * @extends OO.Factory
+ * @constructor
+ */
+OO.ui.ToolGroupFactory = function OoUiToolGroupFactory() {
+ // Parent constructor
+ OO.Factory.call( this );
+
+ var i, l,
+ defaultClasses = this.constructor.static.getDefaultClasses();
+
+ // Register default toolgroups
+ for ( i = 0, l = defaultClasses.length; i < l; i++ ) {
+ this.register( defaultClasses[i] );
+ }
+};
+
+/* Inheritance */
+
+OO.inheritClass( OO.ui.ToolGroupFactory, OO.Factory );
+
+/* Static Methods */
+
+/**
+ * Get a default set of classes to be registered on construction
+ * @return {Function[]} Default classes
+ */
+OO.ui.ToolGroupFactory.static.getDefaultClasses = function () {
+ return [
+ OO.ui.BarToolGroup,
+ OO.ui.ListToolGroup,
+ OO.ui.MenuToolGroup
+ ];
+};
/**
* Layout made of a fieldset and optional legend.
*
OO.ui.BarToolGroup.static.titleTooltips = true;
OO.ui.BarToolGroup.static.accelTooltips = true;
+
+OO.ui.BarToolGroup.static.name = 'bar';
/**
* Popup list of tools with an icon and optional label.
*
/* Static Properties */
OO.ui.ListToolGroup.static.accelTooltips = true;
+
+OO.ui.ListToolGroup.static.name = 'list';
/**
* Drop down menu layout of tools as selectable menu items.
*
OO.ui.MenuToolGroup.static.accelTooltips = true;
+OO.ui.MenuToolGroup.static.name = 'menu';
+
/* Methods */
/**
}
}
- this.setLabel( labelTexts.join( ', ' ) );
+ this.setLabel( labelTexts.join( ', ' ) || ' ' );
};
/**
* UserInterface popup tool.
/**
* Group widget.
*
+ * Mixin for OO.ui.Widget subclasses.
+ *
* Use together with OO.ui.ItemWidget to make disabled state inheritable.
*
* @class
var i, len;
// Parent method
+ // Note this is calling OO.ui.Widget; we're assuming the class this is mixed into
+ // is a subclass of OO.ui.Widget.
OO.ui.Widget.prototype.setDisabled.call( this, disabled );
// During construction, #setDisabled is called before the OO.ui.GroupElement constructor
this.setValue( !this.value );
}
};
-}() );
+}( OO ) );
/*!
- * OOjs UI v0.1.0-pre (e9e435be5e)
+ * OOjs UI v0.1.0-pre (23fb1b6144)
* https://www.mediawiki.org/wiki/OOjs_UI
*
* Copyright 2011–2014 OOjs Team and other contributors.
* Released under the MIT license
* http://oojs.mit-license.org
*
- * Date: Thu Mar 27 2014 11:42:46 GMT-0700 (PDT)
+ * Date: Thu Mar 27 2014 14:49:30 GMT-0700 (PDT)
*/
/* Textures */
display: block;
height: 1.5em;
padding: 0.25em;
- cursor: pointer;
}
.oo-ui-barToolGroup .oo-ui-tool-link .oo-ui-iconedElement-icon {
display: none;
}
+.oo-ui-barToolGroup.oo-ui-widget-enabled .oo-ui-tool-link {
+ cursor: pointer;
+}
+
.oo-ui-listToolGroup .oo-ui-toolGroup-tools {
padding: 0.25em;
}
background-image: /* @embed */ url(images/icons/check.png);
}
+.oo-ui-menuToolGroup .oo-ui-tool.oo-ui-widget-disabled .oo-ui-tool-link {
+ cursor: default;
+}
+
.oo-ui-popupToolGroup {
position: relative;
height: 2em;
line-height: 2.6em;
}
+.oo-ui-popupToolGroup.oo-ui-widget-disabled .oo-ui-popupToolGroup-handle {
+ cursor: default;
+}
+
.oo-ui-popupToolGroup.oo-ui-iconedElement .oo-ui-popupToolGroup-handle .oo-ui-labeledElement-label {
margin-left: 3em;
}