Skip to content

Commit

Permalink
Merge pull request #484 from magento-vanilla/MAGETWO-39674
Browse files Browse the repository at this point in the history
[Vanilla] Deliver mixin extension
  • Loading branch information
guz-anton committed Jul 22, 2015
2 parents fb011a0 + a727670 commit 6fdf665
Show file tree
Hide file tree
Showing 23 changed files with 631 additions and 167 deletions.
1 change: 0 additions & 1 deletion app/code/Magento/Catalog/Ui/Component/ColumnFactory.php
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,6 @@ public function create($attribute, $context, array $config = [])
$config = array_merge([
'label' => __($attribute->getDefaultFrontendLabel()),
'dataType' => $this->getDataType($attribute),
'sorting' => 'asc',
'align' => 'left',
'add_field' => true,
'visible' => $attribute->getIsVisibleInGrid(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,9 @@
<item name="config" xsi:type="array">
<item name="component" xsi:type="string">Magento_Ui/js/grid/controls/columns</item>
<item name="displayArea" xsi:type="string">dataGridActions</item>
<item name="columnsData" xsi:type="array">
<item name="provider" xsi:type="string">product_listing.product_listing.product_columns</item>
</item>
</item>
</argument>
</container>
Expand Down Expand Up @@ -217,6 +220,7 @@
<paging name="listing_paging">
<argument name="data" xsi:type="array">
<item name="config" xsi:type="array">
<item name="selectProvider" xsi:type="string">product_listing.product_listing.product_columns.ids</item>
<item name="storageConfig" xsi:type="array">
<item name="provider" xsi:type="string">product_listing.product_listing.listing_top.bookmarks</item>
<item name="namespace" xsi:type="string">current.paging</item>
Expand Down Expand Up @@ -251,6 +255,10 @@
<columns name="product_columns" class="Magento\Catalog\Ui\Component\Listing\Columns">
<argument name="data" xsi:type="array">
<item name="config" xsi:type="array">
<item name="storageConfig" xsi:type="array">
<item name="provider" xsi:type="string">product_listing.product_listing.listing_top.bookmarks</item>
<item name="namespace" xsi:type="string">current</item>
</item>
<item name="childDefaults" xsi:type="array">
<item name="fieldAction" xsi:type="array">
<item name="provider" xsi:type="string">product_listing.product_listing.product_columns.actions</item>
Expand All @@ -261,7 +269,6 @@
</item>
</item>
<item name="controlVisibility" xsi:type="boolean">true</item>
<item name="appendTo" xsi:type="string">product_listing.product_listing.listing_top.columns_controls</item>
<item name="storageConfig" xsi:type="array">
<item name="provider" xsi:type="string">product_listing.product_listing.listing_top.bookmarks</item>
<item name="root" xsi:type="string">columns.${ $.index }</item>
Expand All @@ -276,9 +283,9 @@
<item name="component" xsi:type="string">Magento_Ui/js/grid/columns/multiselect</item>
</item>
<item name="config" xsi:type="array">
<item name="controlVisibility" xsi:type="boolean">false</item>
<item name="indexField" xsi:type="string">entity_id</item>
<item name="sortOrder" xsi:type="number">0</item>
<item name="appendTo" xsi:type="string"></item>
</item>
</argument>
</column>
Expand Down Expand Up @@ -307,7 +314,6 @@
<item name="altField" xsi:type="string">name</item>
<item name="has_preview" xsi:type="string">1</item>
<item name="dataType" xsi:type="string">text</item>
<item name="sorting" xsi:type="string">asc</item>
<item name="align" xsi:type="string">left</item>
<item name="label" xsi:type="string" translate="true">Thumbnail</item>
<item name="sortOrder" xsi:type="number">20</item>
Expand All @@ -322,7 +328,6 @@
<item name="config" xsi:type="array">
<item name="add_field" xsi:type="boolean">true</item>
<item name="dataType" xsi:type="string">text</item>
<item name="sorting" xsi:type="string">asc</item>
<item name="align" xsi:type="string">left</item>
<item name="label" xsi:type="string" translate="true">Name</item>
<item name="sortOrder" xsi:type="number">30</item>
Expand Down Expand Up @@ -364,7 +369,6 @@
</item>
<item name="config" xsi:type="array">
<item name="dataType" xsi:type="string">text</item>
<item name="sorting" xsi:type="string">asc</item>
<item name="align" xsi:type="string">left</item>
<item name="label" xsi:type="string" translate="true">SKU</item>
<item name="sortOrder" xsi:type="number">60</item>
Expand All @@ -379,7 +383,6 @@
<item name="config" xsi:type="array">
<item name="add_field" xsi:type="boolean">true</item>
<item name="dataType" xsi:type="string">text</item>
<item name="sorting" xsi:type="string">asc</item>
<item name="align" xsi:type="string">left</item>
<item name="label" xsi:type="string" translate="true">Price</item>
<item name="sortOrder" xsi:type="number">70</item>
Expand Down Expand Up @@ -441,6 +444,7 @@
<item name="data_type" xsi:type="string">actions</item>
<item name="filterable" xsi:type="boolean">false</item>
<item name="sortable" xsi:type="boolean">false</item>
<item name="draggable" xsi:type="boolean">false</item>
</item>
</argument>
</column>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -644,6 +644,7 @@
<item name="draggable" xsi:type="boolean">false</item>
<item name="dataType" xsi:type="string">actions</item>
<item name="indexField" xsi:type="string">page_id</item>
<item name="blockVisibility" xsi:type="boolean">true</item>
<item name="align" xsi:type="string">left</item>
<item name="label" xsi:type="string" translate="true">Action</item>
<item name="data_type" xsi:type="string">actions</item>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,9 @@
<item name="config" xsi:type="array">
<item name="component" xsi:type="string">Magento_Ui/js/grid/controls/columns</item>
<item name="displayArea" xsi:type="string">dataGridActions</item>
<item name="columnsData" xsi:type="array">
<item name="provider" xsi:type="string">product_attributes_listing.product_attributes_listing.product_attributes_columns</item>
</item>
</item>
</argument>
</container>
Expand Down Expand Up @@ -171,6 +174,7 @@
<item name="provider" xsi:type="string">product_attributes_listing.product_attributes_listing.listing_top.bookmarks</item>
<item name="namespace" xsi:type="string">current.paging</item>
</item>
<item name="selectProvider" xsi:type="string">product_attributes_listing.product_attributes_listing.product_attributes_columns.ids</item>
<item name="displayArea" xsi:type="string">bottom</item>
<item name="options" xsi:type="array">
<item name="20" xsi:type="array">
Expand Down Expand Up @@ -201,10 +205,12 @@
<columns name="product_attributes_columns">
<argument name="data" xsi:type="array">
<item name="config" xsi:type="array">
<item name="storageConfig" xsi:type="array">
<item name="provider" xsi:type="string">product_attributes_listing.product_attributes_listing.listing_top.bookmarks</item>
<item name="namespace" xsi:type="string">current</item>
</item>
<item name="childDefaults" xsi:type="array">
<item name="actionField" xsi:type="string">actions</item>
<item name="clickAction" xsi:type="string">edit</item>
<item name="appendTo" xsi:type="string">product_attributes_listing.product_attributes_listing.listing_top.columns_controls</item>
<item name="controlVisibility" xsi:type="boolean">true</item>
<item name="storageConfig" xsi:type="array">
<item name="provider" xsi:type="string">product_attributes_listing.product_attributes_listing.listing_top.bookmarks</item>
<item name="root" xsi:type="string">columns.${ $.index }</item>
Expand All @@ -221,7 +227,7 @@
<item name="config" xsi:type="array">
<item name="indexField" xsi:type="string">attribute_id</item>
<item name="sortOrder" xsi:type="number">0</item>
<item name="appendTo" xsi:type="string"></item>
<item name="controlVisibility" xsi:type="string">false</item>
</item>
</argument>
</column>
Expand All @@ -245,7 +251,6 @@
</item>
<item name="config" xsi:type="array">
<item name="dataType" xsi:type="string">text</item>
<item name="sorting" xsi:type="string">asc</item>
<item name="align" xsi:type="string">left</item>
<item name="label" xsi:type="string" translate="true">Attribute Label</item>
</item>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@
<item name="dataScope" xsi:type="string">is_filterable</item>
<item name="label" xsi:type="string" translate="true">Use in Layered Navigation</item>
<item name="caption" xsi:type="string" translate="true">Select...</item>
<item name="appendTo" xsi:type="string">product_attributes_listing.product_attributes_listing.listing_top.listing_filters.is_comparable</item>
</item>
</argument>
</filterSelect>
Expand All @@ -34,7 +33,6 @@
<item name="dataType" xsi:type="string">select</item>
<item name="align" xsi:type="string">left</item>
<item name="label" xsi:type="string" translate="true">Use in Layered Navigation</item>
<item name="appendTo" xsi:type="string">product_attributes_listing.product_attributes_listing.product_attributes_columns.is_comparable</item>
</item>
</argument>
</column>
Expand Down
7 changes: 7 additions & 0 deletions app/code/Magento/RequireJs/Block/Html/Head/Config.php
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@ protected function _prepareLayout()
{
$after = RequireJsConfig::REQUIRE_JS_FILE_NAME;
$requireJsConfig = $this->fileManager->createRequireJsConfigAsset();
$requireJsMixinsConfig = $this->fileManager->createRequireJsMixinsAsset();
$assetCollection = $this->pageConfig->getAssetCollection();

if ($this->bundleConfig->isBundlingJsFiles()) {
Expand Down Expand Up @@ -91,6 +92,12 @@ protected function _prepareLayout()
$after
);

$assetCollection->insert(
$requireJsMixinsConfig->getFilePath(),
$requireJsMixinsConfig,
$after
);

return parent::_prepareLayout();
}

Expand Down
12 changes: 12 additions & 0 deletions app/code/Magento/RequireJs/Model/FileManager.php
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,18 @@ public function createRequireJsConfigAsset()
return $this->assetRepo->createArbitrary($relPath, '');
}

/**
* Create a view asset representing the aggregated configuration file
*
* @return \Magento\Framework\View\Asset\File
*/
public function createRequireJsMixinsAsset()
{
$relPath = $this->config->getMixinsFileRelativePath();
$this->ensureSourceFile($relPath);
return $this->assetRepo->createArbitrary($relPath, '');
}

/**
* Create a view asset representing the aggregated configuration file
*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,10 @@ public function testSetLayout()
->expects($this->once())
->method('createRequireJsConfigAsset')
->will($this->returnValue($requireJsAsset));
$this->fileManager
->expects($this->once())
->method('createRequireJsMixinsAsset')
->will($this->returnValue($requireJsAsset));
$this->fileManager
->expects($this->once())
->method('createStaticJsAsset')
Expand Down
2 changes: 1 addition & 1 deletion app/code/Magento/Theme/view/adminhtml/requirejs-config.js
Original file line number Diff line number Diff line change
Expand Up @@ -58,4 +58,4 @@ var config = {
"paths": {
"jquery/ui": "jquery/jquery-ui-1.9.2"
}
};
};
5 changes: 2 additions & 3 deletions app/code/Magento/Ui/view/base/requirejs-config.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,7 @@

var config = {
paths: {
'ui/template': 'Magento_Ui/templates',
'i18n': 'Magento_Ui/js/lib/i18n'
'ui/template': 'Magento_Ui/templates'
},
map: {
'*': {
Expand All @@ -15,4 +14,4 @@ var config = {
uiLayout: 'Magento_Ui/js/core/renderer/layout'
}
}
};
};
44 changes: 33 additions & 11 deletions app/code/Magento/Ui/view/base/web/js/grid/dnd.js
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ define([
* @returns {Object|Array}
*/
function getModel(elem) {
return ko.contextFor(elem).$data;
return ko.dataFor(elem);
}

return Class.extend({
Expand Down Expand Up @@ -140,15 +140,13 @@ define([
* @returns {Dnd} Chainbale.
*/
initListeners: function () {
var addListener = document.addEventListener;

if (isTouchDevice) {
addListener('touchmove', this.onMouseMove, false);
addListener('touchend', this.onMouseUp, false);
addListener('touchleave', this.onMouseUp, false);
document.addEventListener('touchmove', this.onMouseMove, false);
document.addEventListener('touchend', this.onMouseUp, false);
document.addEventListener('touchleave', this.onMouseUp, false);
} else {
addListener('mousemove', this.onMouseMove, false);
addListener('mouseup', this.onMouseUp, false);
document.addEventListener('mousemove', this.onMouseMove, false);
document.addEventListener('mouseup', this.onMouseUp, false);
}

return this;
Expand Down Expand Up @@ -267,6 +265,29 @@ define([
return this;
},

/**
* Locates draggable table at the upper left corner.
*
* @returns {Dnd} Chainable.
*/
_dropPosition: function () {
var dragTable = this.dragTable,
dragStyles = dragTable.style,
coords;

dragStyles.left = '0px';
dragStyles.top = '0px';

locate(dragTable, 0, 0);

coords = dragTable.getBoundingClientRect();

dragStyles.left = -1 * coords.left + 'px';
dragStyles.top = -1 * coords.top + 'px';

return this;
},

/**
* Matches provided coordinates to available areas.
*
Expand Down Expand Up @@ -329,10 +350,11 @@ define([

getModel(elem).dragging(true);

this._cacheCoords()
._copyDimensions(elem);

$(this.dragTable).removeClass(this.hiddenClass);

this._cacheCoords()
._copyDimensions(elem)
._dropPosition();
},

/**
Expand Down
Loading

0 comments on commit 6fdf665

Please sign in to comment.