mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-09 01:08:39 +09:00
import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo
This commit is contained in:
commit
dcd9973243
150858 changed files with 23884658 additions and 0 deletions
86
devtools/client/responsive.html/reducers/devices.js
Normal file
86
devtools/client/responsive.html/reducers/devices.js
Normal file
|
|
@ -0,0 +1,86 @@
|
|||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
"use strict";
|
||||
|
||||
const {
|
||||
ADD_DEVICE,
|
||||
ADD_DEVICE_TYPE,
|
||||
LOAD_DEVICE_LIST_START,
|
||||
LOAD_DEVICE_LIST_ERROR,
|
||||
LOAD_DEVICE_LIST_END,
|
||||
UPDATE_DEVICE_DISPLAYED,
|
||||
UPDATE_DEVICE_MODAL_OPEN,
|
||||
} = require("../actions/index");
|
||||
|
||||
const Types = require("../types");
|
||||
|
||||
const INITIAL_DEVICES = {
|
||||
types: [],
|
||||
isModalOpen: false,
|
||||
listState: Types.deviceListState.INITIALIZED,
|
||||
};
|
||||
|
||||
let reducers = {
|
||||
|
||||
[ADD_DEVICE](devices, { device, deviceType }) {
|
||||
return Object.assign({}, devices, {
|
||||
[deviceType]: [...devices[deviceType], device],
|
||||
});
|
||||
},
|
||||
|
||||
[ADD_DEVICE_TYPE](devices, { deviceType }) {
|
||||
return Object.assign({}, devices, {
|
||||
types: [...devices.types, deviceType],
|
||||
[deviceType]: [],
|
||||
});
|
||||
},
|
||||
|
||||
[UPDATE_DEVICE_DISPLAYED](devices, { device, deviceType, displayed }) {
|
||||
let newDevices = devices[deviceType].map(d => {
|
||||
if (d == device) {
|
||||
d.displayed = displayed;
|
||||
}
|
||||
|
||||
return d;
|
||||
});
|
||||
|
||||
return Object.assign({}, devices, {
|
||||
[deviceType]: newDevices,
|
||||
});
|
||||
},
|
||||
|
||||
[LOAD_DEVICE_LIST_START](devices, action) {
|
||||
return Object.assign({}, devices, {
|
||||
listState: Types.deviceListState.LOADING,
|
||||
});
|
||||
},
|
||||
|
||||
[LOAD_DEVICE_LIST_ERROR](devices, action) {
|
||||
return Object.assign({}, devices, {
|
||||
listState: Types.deviceListState.ERROR,
|
||||
});
|
||||
},
|
||||
|
||||
[LOAD_DEVICE_LIST_END](devices, action) {
|
||||
return Object.assign({}, devices, {
|
||||
listState: Types.deviceListState.LOADED,
|
||||
});
|
||||
},
|
||||
|
||||
[UPDATE_DEVICE_MODAL_OPEN](devices, { isOpen }) {
|
||||
return Object.assign({}, devices, {
|
||||
isModalOpen: isOpen,
|
||||
});
|
||||
},
|
||||
|
||||
};
|
||||
|
||||
module.exports = function (devices = INITIAL_DEVICES, action) {
|
||||
let reducer = reducers[action.type];
|
||||
if (!reducer) {
|
||||
return devices;
|
||||
}
|
||||
return reducer(devices, action);
|
||||
};
|
||||
Loading…
Add table
Add a link
Reference in a new issue