- 1
- 2
- 3
onItemClicked(item: any) {
this.onItemClick.emit({ item: item.item });
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
0
onItemClicked(item: any) {
this.onItemClick.emit({ item: item.item });
}
Ехал айтем через айтем
Видит айтем, айтем кликд
Сунул айтем айтем в айтем
Зис он айтем клик эмит
0
var infScroll = throttle(function() {
if ((window.innerHeight + window.pageYOffset) >= document.body.offsetHeight) {
$scope.loadMoreResults();
}
}, 1500);
var infScrollListener = function(ev) {
if ((window.innerHeight + window.pageYOffset) >= document.body.offsetHeight) {
infScroll();
}
};
window.addEventListener('scroll', infScrollListener);
$scope.$on('$destroy', function() {
infScroll.cancel();
window.removeEventListener('scroll', infScrollListener);
});
Какой бесконечный скроллинг )))
0
var a = ['a', 'b', 'c'];
var b = ['d', 'e', 'f'];
b.forEach(item => a.push(item)); // a == ["a", "b", "c", "d", "e", "f"]
// Но:
var a = ['a', 'b', 'c'];
var b = ['d', 'e', 'f'];
b.forEach(a.push.bind(a)); // a == ["a", "b", "c", "d", 0, Array(3), "e", 1, Array(3), "f", 2, Array(3)]
Кто поймёт, что за хуйня, тому нихуя.
+1
/**
* The expanded S-box and inverse S-box tables. These will be computed
* on the client so that we don't have to send them down the wire.
*
* There are two tables, _tables[0] is for encryption and
* _tables[1] is for decryption.
*
* The first 4 sub-tables are the expanded S-box with MixColumns. The
* last (_tables[01][4]) is the S-box itself.
*
* @private
*/
_tables: [[[],[],[],[],[]],[[],[],[],[],[]]],
+1
importPackage(Packages.com.sk89q.worldedit);
importPackage(Packages.com.sk89q.worldedit.blocks);
importPackage(Packages.com.sk89q.worldedit.tools);
importPackage(Packages.com.sk89q.worldedit.tools.brushes);
importPackage(Packages.com.sk89q.worldedit.patterns);
var bSize = argv.length > 1 ? parseInt(argv[1]) : 4;
var maxFaces = argv.length > 2 ? (argv[2]) : 2;
var strength = argv.length > 3 ? (argv[3]) : 1;
var xOff = ['1', '-1', '1', '1', '-1', '1', '-1', '-1'];
var yOff = ['1', '1', '-1', '1', '-1', '-1', '1', '-1'];
var zOff = ['1', '1', '1', '-1', '1', '-1', '-1', '-1'];
if (bSize == 0) {bSize = 4;}
var blocks = new Array();
var tool = context.getSession().getBrushTool(player.getItemInHand());
var matPat = new SingleBlockPattern(new BaseBlock(maxFaces));
tool.setSize(bSize);
tool.setFill(matPat);
var brush = new Brush({
strength : strength,
build : function(editSession,pos,mat,bSize) {
var session = context.remember();
for (iteration = 1; iteration <= strength; iteration++) {
var matID = mat.getBlock().getType();
maxFaces = ((matID >= 0) && (matID <= 6)) ? matID : 3;
var blockTotal = 0;
var blockCnt = 0;
var blockFaces = new Array(6);
radius = bSize + 0.5;
var invRadius = 1 / radius;
var ceilRadius = Math.ceil(radius);
var nextXn = 0;
forX: for (var x = 0; x <= ceilRadius; ++x) {
var xn = nextXn;
nextXn = (x + 1) * invRadius;
var nextYn = 0;
forY: for (var y = 0; y <= ceilRadius; ++y) {
var yn = nextYn;
nextYn = (y + 1) * invRadius;
var nextZn = 0;
forZ: for (var z = 0; z <= ceilRadius; ++z) {
var zn = nextZn;
nextZn = (z + 1) * invRadius;
var distanceSq = lengthSq(xn, yn, zn);
if (distanceSq > 1) {
if (z == 0) {
if (y == 0) {
break forX;
}
break forY;
}
break forZ;
}
for (var dirLoop = 0; dirLoop <= 7 ; dirLoop++) {
var pt = pos.add(x * xOff[dirLoop], y * yOff[dirLoop], z * zOff[dirLoop]);
var curBlock = editSession.getBlock(pt);
blockCnt = 0;
blockFaces = [];
blockFaces[1] = editSession.getBlockType(pt.add(1,0,0));
blockFaces[2] = editSession.getBlockType(pt.add(-1,0,0));
blockFaces[3] = editSession.getBlockType(pt.add(0,1,0));
blockFaces[4] = editSession.getBlockType(pt.add(0,-1,0));
blockFaces[5] = editSession.getBlockType(pt.add(0,0,1));
blockFaces[6] = editSession.getBlockType(pt.add(0,0,-1));
for (var lpC = 1; lpC <= 6; lpC++) {
if((blockFaces[lpC]) == 0) {blockCnt++;}
}
if (blockCnt >= maxFaces) {
blocks[blockTotal] = BlockID.AIR;
}
else {
blocks[blockTotal] = curBlock.getType();
}
blockTotal++;
}
}
}
Какой багор )))
+1
export default class CheckboxFilter extends React.PureComponent {
private handleChange = (field: string) => (value: unknown) => {
const { onChange } = this.props;
onChange({params: { [field]: value }})
};
private onChangeValue(value: string, onChange: (value: string | null) => void, checked: boolean) {
onChange(checked ? value : null);
}
private onChange = (e: any) => {
const {value, type} = this.props;
if(value) {
this.onChangeValue.bind(null, value, this.handleChange(type))(e);
} else {
this.handleChange(type)(e);
}
}
public render() {
const {checked, children} = this.props;
return (
<Checkbox
onChange={this.onChange}
name='check'
checked={checked}
>
{children}
</Checkbox>
)
}
};
Код на react / typescript.
Особое внимание методу onChange
−1
if(deliverySuspend == true) {
deliverySuspend = false;
}
else
{
deliverySuspend = true;
}
if(deliverySuspend == false)
{
lastGlucoseMarkerVal = 0.0;
}
Пул реквест с таким куском говна пришел от индуса.
Стилистика и табуляции сохранены.
−2
/**
* Refresh JWT.
* @returns New tokens.
*/
static refreshToken(): Observable<BaseResponseInterface<SignInResponse>> {
const http = InjectorInstance.get<HttpClient>(HttpClient);
this.isRefreshingToken = true;
setTimeout(() => (this.isRefreshingToken = false), 15000);
return http
.post<BaseResponseInterface<SignInResponse>>(environment.API.REFRESH_TOKEN, {
accessToken: localStorage.getItem('auth_token'),
refreshToken: localStorage.getItem('refresh_token')
})
.pipe(
tap(response => {
this.isRefreshingToken = false;
this.storeTokens(response.data.token, response.data.refreshToken);
})
);
}
Когда уверен в своем сервере. Или просто сдался.
−1
// Python
str = "1,2,3,4,5,6"
print(str.replace(",", " ")) #1 2 3 4 5 6
// C#
String str = "1,2,3,4,5,6";
Console.WriteLine(str.Replace(',', ' ')); //1 2 3 4 5 6
// Java
String str = "1,2,3,4,5,6";
System.out.println(str.replace(',',' ')); //1 2 3 4 5 6
// Javascript
const str = "1,2,3,4,5,6"
console.log(str.replace(',', ' ')) //1 2,3,4,5,6
Почему? А хуй его знает
0
// где-то в классе MyTable
public next() {
if (this.firstVisibleRow + this.currentRow < this.sortedData.length) {
this.firstVisibleRow = this.firstVisibleRow + this.currentRow;
}
this.sortTable();
}
public prev() {
if (this.firstVisibleRow - this.currentRow > 0) {
this.firstVisibleRow = this.firstVisibleRow - this.currentRow;
} else {
this.firstVisibleRow = 0;
}
this.sortTable();
}
public sortTable() {
this.sortedData.forEach((item, index) => {
for (let i = this.firstVisibleRow; i < (this.firstVisibleRow + this.currentRow); i++) {
if (i === index) {
this.visiblilityList[index] = true;
return;
}
}
this.visiblilityList[index] = false;
});
}
Коллега не прекращает удивлять )
Код компонента Таблица для Vue.
Кажется, в этом коде прекрасно всё.
Обратите внимание, как красиво выполняется метод sortTable.
Здесь visiblilityList используется для определения какие ряды в таблице нужно рисовать при пагинации. Про существование переменных page и rowsPerPage не слышал.
Удивительно, но это говно работает!
Планируем нашему коллеге по итогам года подарить грамоту "Качественный говнокод года" )